メインバンドルにあるビデオファイルをロードしたいだけです。これは非常に単純に思えますが、何らかの理由でエラーが発生MPMoviePlayerController
し続けます。次のコードがあります。
- (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
と、未定義のloadStateが表示されます。
これらは、他のメソッドを使用した単純な viewController であり、.h
ファイル
に次の宣言があります。@property (nonatomic, strong) MPMoviePlayerController *myPlayer;
私は iOS 6 で実行していますが、これらはデバイスとシミュレーターの両方で発生します