3

私のアプリケーションでは、ユーザーは UIImagePickerController を使用してビデオを録画でき、後で使用するためにディスクに保存する必要があります。情報ディクショナリからパスを取得し、それをドキュメント ディレクトリに保存しますが、問題は、ディクショナリで渡された URL がファイル パスではなく URL であることです。 . absoluteString を使用して文字列に変換し、それをソース パスとしてファイル マネージャーに渡すと、ソース ファイルが見つからないと言って失敗します。

古いパス: file://localhost/private/var/mobile/Applications/77B4D2B8-DE12-4643-82F0-2ECC948E4DBC/tmp/capture/capturedvideo.MOV

新しいパス: /var/mobile/Applications/77B4D2B8-DE12-4643-82F0-2ECC948E4DBC/Documents/video1.mov

URL をファイル マネージャーが処理できるものに変換する簡単な方法が必要です。すべてのビデオを tmp ディレクトリにそのままにしておくことはできないと思います。それらを適切に保持したい場合は、ドキュメント ディレクトリに保存する必要があります。

また、これは実際には関係ありませんが、そのビデオのサムネイルをテーブル ビューに表示するにはどうすればよいですか?

4

2 に答える 2

5

私のURLをファイルマネージャが処理できるものに変換する簡単な方法が必要です。

その通りです。簡単な方法があります。ドキュメントに埋め込まれているだけです。

NSString *myPath = [myUrl path];

メソッドのドキュメントからpath

戻り値
URLのパス。受信者がRFC1808に準拠していない場合、nilを返します。isFileURLがYESを返す場合、戻り値はNSFileManagerまたはNSPathUtilitiesへの入力に適しています。パスの末尾にスラッシュがある場合は、削除されます。

于 2009-12-07T15:55:36.637 に答える
-2
NSData *imageData = [NSData dataWithContentsOfURL:[info objectForKey:@"UIImagePickerControllerMediaURL"]];


NSString *tempPath = [NSString stringWithFormat:@"%@/Documents/%@.mp4",NSHomeDirectory(),dateStr];

  [imageData writeToFile:tempPath atomically:NO];
于 2010-05-26T09:03:59.950 に答える