MPMoviePlayerController を使用して「.3gp」ビデオを再生しています。サーバーからデータを取得し、NSData オブジェクトに保存してから、Document ディレクトリ内のファイルに書き込みます。コードは次のとおりです。
.hi で、videoPlayer を次のように定義しました。
@interface MainViewController : UIViewController {
MPMoviePlayerController* videoPlayer; }
@property (strong, nonatomic) MPMoviePlayerController* videoPlayer;
.m ファイルで
-(void)videoWillStartPlayWithUrl:(NSData *)d
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myMove.3gp"];
[d writeToFile:path atomically:YES];
NSURL *url = [NSURL fileURLWithPath:path];
adBannerView.hidden = YES;
self.videoPlayer = [[MPMoviePlayerController alloc]initWithContentURL:url];
self.videoPlayer.controlStyle = MPMovieControlStyleEmbedded;
self.videoPlayer.shouldAutoplay = YES;
[self.videoPlayer.view setFrame: self.view.bounds];
[self.view addSubview:self.videoPlayer.view];
[self.videoPlayer setFullscreen:YES animated:YES];
[self.videoPlayer prepareToPlay];
[self.videoPlayer play];
}
iOS 5未満では完全に機能していますが、iOS 5では黒い画面が表示されて直接終了し 、iOS 5でビデオが再生されない問題を理解できないようです。助けていただければ幸いです