私はvideoPickerControllerを使ってビデオを記録しています。 imagePickerController:didFinishPickingMediaWithInfo:
機能では、私は、以前に定義されたMPMoviePlayerControllerにビデオを設定しようとしている:これは正常に動作していると、映像が実際に再生されているMPMoviePlayerControllerは新しく保存されたビデオファイルを再生しません。
if ([mediaType isEqualToString:(NSString *)kUTTypeMovie]){
NSURL *movieUrl = [info objectForKey:UIImagePickerControllerMediaURL];
[self.moviePlayer setContentURL:movieUrl]];
}
。 しかし、後で使用するためにファイルを保存します。私はこれを行うとのMoviePlayerのための保存されたファイルを使用すると、何も起こりません:
私は
NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *newPath = [directory stringByAppendingPathComponent:@"myMovie.mov"]; NSData *videoData = [NSData dataWithContentsOfURL:movieUrl]; [videoData writeToFile:newPath atomically:NO]; [self.moviePlayer setContentURL:[NSURL URLWithString:newPath]];
または本(コピー(新しいファイルにデータを保存する)、これを試してみました私のドキュメントフォルダに一時ビデオファイル)任意の成功なし
NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString *newPath = [directory stringByAppendingPathComponent:@"myMovie.mov"]; NSFileManager *fileManager = [NSFileManager defaultManager]; NSError *error = nil; [fileManager copyItemAtPath:[videoUrl path] toPath:newPath error:&error]; [self.moviePlayer setContentURL:[NSURL URLWithString:newPath]];
、にもかかわらず、ファイル10は存在します...私は間違って何をしていますか?
はファイル完了書き込みをしていますか?再生時に1秒間またはそれ以上の再生時間でタイマーディレイを設定して、ビデオ再生を許可するかどうか確認してください。 – Purpletoucan
まあ、私は追加しようとしました:NSLog(@ "存在:%@"、[fileManager fileExistsAtPath:newPath]?@ "はい":@ "いいえ");ログは「はい」です。また、私が待っていて、newPathのファイルをself.moviePlayerに設定しようとすると、何も起こりません。 – Johann