imagePickerControllerを使用してビデオを録画しています。imagePickerController:didFinishPickingMediaWithInfo:
関数で、ビデオを以前に定義された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]];
のファイルが存在していても、成功しnewPath
ませんでした...何が間違っているのですか?