Web からビデオをダウンロードし、そのファイルをローカル フォルダーに書き込みたいと考えています。私はこれのために次のコードを実行しました:
if(videoUrl!=Nil)
{
if(moviePlayer==NULL)
{
NSString *newPath = @"/Users/theuser/Desktop/data/b.m3u8";
NSData *videoData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"]];
NSLog(@"data=%@",videoData);
[videoData writeToFile:newPath atomically:YES];
}
}
同じアプリケーションでビデオを取得しています。そのための次のコードがあります。
- (void)viewDidLoad
{
[super viewDidLoad];
// NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *newPath = @"/Users/theuser/Desktop/data/b.m3u8";//[directory stringByAppendingPathComponent:@"myMovie.m3u8"];
NSLog(@"path=%@",newPath);
moviePlayerController=[[MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:newPath isDirectory:NO]];
moviePlayerController.scalingMode=MPMovieScalingModeAspectFill;
moviePlayerController.view.frame=CGRectMake(320,200,320,200);
[self.view addSubview:moviePlayerController.view];
[moviePlayerController play];
NSLog(@"played");
}
しかし、私は次の例外を受けています:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'An AVPlayerItem cannot be associated with more than one instance of AVPlayer'
なぜこれが起こっているのですか?