我只是想加载一个主包中的视频文件,这看起来很简单,但由于某种原因我不断收到MPMoviePlayerController
的错误,我有以下代码。在iOS中播放视频失败
- (void)viewDidLoad{
[super viewDidLoad];
NSString *path = [[NSBundle mainBundle] pathForResource:@"ipad2" ofType:@"mp4"];
self.myPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:path]];
[self.myPlayer prepareToPlay];
self.myPlayer.movieSourceType = MPMovieSourceTypeFile;
[self.myPlayer.view setFrame:self.view.bounds];
[self.view addSubview:self.myPlayer.view];
[self.myPlayer play];
}
我只得到一个黑色的屏幕和下面的输出:
2013-01-09 13:38:15.686 myVideoApp[1789:907] [MPAVController] Autoplay: Likely to keep up or full buffer: 0
2013-01-09 13:38:15.690 myVideoApp[1789:907] [MPAVController] Autoplay: Skipping autoplay, not enough buffered to keep up.
我也尝试添加这些通知玩,但是永远不会发送:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(playVideo:)
name:MPMoviePlayerLoadStateDidChangeNotification
object:self.myPlayer ];
当我打印self.myPlayer.loadState
我得到了0
这是undefined loadState。
这些是一个简单的viewController与任何其它方法,并且我对.h
文件这些声明: @property (nonatomic, strong) MPMoviePlayerController *myPlayer;
我真的在iOS 6运行,并且这些可以同时在设备和模拟器
感谢改变创建URL的方式解决了这个问题 –