1

UIImagePickerController を使用して、デバイスのカメラ ロールからビデオを選択しています。ただし、現時点ではビデオを見ることに興味はありません。URL を (Core Data に) 保存して、ユーザーが pickerView などからビデオの名前を選択したときに、その時点でビデオが読み込まれて再生されるようにします。

私の理解 (これは間違っている可能性があります) は、UIImagePickerController が圧縮されたコピーをサンドボックスに作成し、2 つの異なる URL を (info ディクショナリで) 提供することです。現時点では推測の域を出ませんが、私は次のように考えています。

UIImagePickerControllerMediaURL は、元のビデオを指す URL です。UIImagePickerControllerReferenceURL はコピーを指す URL です。

ここに私の質問があります:

a) 2 つの URL が何を指すかについての私の推測は正しいですか? デバイスのカメラ ロールにある限り、ReferenceURL が選択したビデオを指すと期待できますか?

b) この状況下で、圧縮を回避する方法はありますか? SO を読むと、そうではないかもしれないと思いますが、私がやっていることと正確に関連する投稿は実際には見たことがありません。私のアプリの構造は、これらのビデオがたくさんある可能性があり、ユーザーが元のバージョンを削除したくないため、元のバージョンと圧縮バージョンの両方を使用しても意味がありません。

私が興味を持っているのは、カメラ ロール内のビデオにアクセスするために使用できる URL だけです。また、URL と共に保存するサムネイルも取得する必要がありますが、その方法はわかると思います。

これに関するヘルプは大歓迎です。

4

1 に答える 1

0

動画にアクセスするための URL のみが必要な場合は、UIImagePickerControllerMediaURLこれを使用して動画のファイルシステム URL を指定できます (編集が有効になっている場合、これは編集/トリミングされた動画を指します)。
元の動画の URL が必要な場合UIImagePickerControllerReferenceURLは、これが動画の元のバージョンのアセット ライブラリの URL であることを確認できます。(実際に選択された項目、編集なし)。もちろん、元の未編集のビデオの URL をcontroller.allowsEditing = NO取得して、ユーザーがビデオを編集することを回避するように設定できます。UIImagePickerControllerMediaURL

私の知る限り、デフォルトでは、録画/選択されたビデオに圧縮は適用されません。これは、[共有] ボタンを押して、MMS、MobileMe などでファイルを送信しようとした場合にのみ発生しますcontroller.videoQuality = UIImagePickerControllerQualityTypeHigh。最高の品質を得るために確立してください。

于 2013-09-04T15:49:28.337 に答える