我已经困扰了数小时...... 我正在尝试使用AVPlayer播放我下载并保存的视频,但没有任何显示。 最让我惊讶的是,如果我使用苹果提供的用于测试HTTP实时流媒体的示例URL ,那么这个视频就可以播放。(http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8) 然而,当我将URL更改为本地文件路径时,视频无法播放。我用iPhone录制了视频,并验证了格式(.mov)可播放。以下是代码块:
AVPlayer *mPlayer = [[AVPlayer alloc] init];
//mPlayer = [mPlayer initWithURL:[NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"]];
mPlayer = [mPlayer initWithURL:filePath];
playerLayer = [AVPlayerLayer playerLayerWithPlayer:mPlayer];
[[[self view] layer] insertSublayer:playerLayer atIndex:3];
[playerLayer setFrame:self.view.bounds];
[mPlayer play];
NSLog(@"Playing video at: %@", filePath);
示例输出:
正在播放视频: /var/mobile/Applications/B298EE7D-D95D-4CCC-8466-2C0270E2071E/Documents/394665262.174180.mov
编辑: 通过使用[NSURL fileURLWithPath:local_url_string]已解决问题。
filePath
是如何创建的? - Martin RfileURLWithPath
解决了它。 - eldermaoinit
/init…
消息。你应该只在第一行创建AVPlayer,如[[AVPlayer alloc] initWithURL:[NSURL fileURLWithPath:…]]
。 - Peter Hosey