2
在我的应用程序中,我从网上下载了一个视频,我想播放下载。在完成下载前播放视频
我使用:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
救我到一个文件中的数据:
if (currentBytes == 0) {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *fileName = [NSString stringWithFormat:@"%@.mp4", [[paths objectAtIndex:0] stringByAppendingPathComponent:@"1"]];
[[NSFileManager defaultManager] createFileAtPath:fileName contents:data attributes:nil];
handle = [[NSFileHandle fileHandleForUpdatingAtPath:fileName] retain];
[handle seekToEndOfFile];
}else {
if (!data) {
NSLog(@"");
}
[handle writeData:data];
}
currentBytes++;
,然后当我从被下载我想将影片的观众,50%开始玩AVPlayer吧:
if ((percentComplete > 50)&&(flag == NO)) {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *fileName = [NSString stringWithFormat:@"%@.mp4", [[paths objectAtIndex:0] stringByAppendingPathComponent:@"1"]];
audioPlayer = [[AVPlayer playerWithURL:[NSURL fileURLWithPath:fileName]] retain];
avPlayerLayer = [[AVPlayerLayer playerLayerWithPlayer:audioPlayer] retain];
[avPlayerLayer setFrame:self.view.bounds];
[audioPlayer play];
[[self.view layer] addSublayer:avPlayerLayer];
flag = YES;
}
任何想法为什么它不会工作?
AvPlayer是否可以在文件播放前检查文件?也许AvPlayer期待在文件末尾有一些特别的东西。 - 只是想法。 – Max 2012-03-29 11:54:13