MPMoviePlayerViewController를 사용하여 3gp 형식의 비디오를 재생합니다. 일부 비디오는 재생할 수 있지만 다른 비디오는 재생할 수 없습니다. MPMoviePlayerViewController는 비디오가 0 초 기간 인 것처럼 즉시 로딩하여 종료합니다. 나는 영상에 sty 틀림이 있어야한다고 생각했다. 하지만 난 앨범 안에 아이폰의 비디오 플레이어를 사용하여, 그것은 비디오를 재생할 수 있습니다! 그래서 어쩌면 MPMoviePlayerViewController가 powerful.and 내가 비디오를 재생 avfoundation 프레임 워크 avplayer를 사용하려고하지 않는 것 같아요. 내 콘텐츠보기에 하위 레이어를 추가하십시오. 실패했습니다 .. 나를 미치게하는 ! 아무도 어떤 문제를 만났습니까?MPMoviePlayerController가 3gp 형식의 비디오를 재생할 수 없습니다.
여기 내 코드
-(void) playMovieWithSDK: (NSURL*) movieUrl
{
if ([[[UIDevice currentDevice] systemVersion] doubleValue] >= 3.2) {
MPMoviePlayerViewController *mSdk4Player = [[MPMoviePlayerViewController alloc] initWithContentURL:movieUrl];
mSdk4Player.navigationController.navigationBar.tag = 1000;
if (mSdk4Player) {
[self presentMoviePlayerViewControllerAnimated:mSdk4Player];
mSdk4Player.moviePlayer.scalingMode= MPMovieScalingModeAspectFit;
mSdk4Player.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
mSdk4Player.moviePlayer.shouldAutoplay = YES;
[mSdk4Player release];
[[NSNotificationCenter defaultCenter]addObserver: self
selector: @selector(movieFinishedCallback:)
name: MPMoviePlayerPlaybackDidFinishNotification
object: mSdk4Player.moviePlayer];
}
}
else if ([[[UIDevice currentDevice] systemVersion] doubleValue] < 3.2) { // sdk 3.0 播放器
MPMoviePlayerController* mSdk3player = [[MPMoviePlayerController alloc] initWithContentURL: movieUrl];
mSdk3player.scalingMode = MPMovieScalingModeAspectFit;
[[NSNotificationCenter defaultCenter]addObserver: self
selector: @selector(movieFinishedCallback:)
name: MPMoviePlayerPlaybackDidFinishNotification
object: mSdk3player];
[mSdk3player play];
}
}
답변 해 주셔서 감사합니다. 나는 그 문제를 발견했다. 오디오 트랙 형식은 AAC가 아닌 AMR입니다. – Spec