2013-05-09 5 views
3

iOS 앱에 Amazon S3에서 비디오를 스트리밍하는 MPMoviePlayerController이 있습니다. 동영상은 정상적으로 재생되지만 기기 (iOS 6으로 테스트 한 것, 다른 사람에 대해 잘 모르는)에서 오디오가 재생되지 않는 것으로 보입니다. 오디오는 장치가 아닌 에뮬레이터에서 정상적으로 작동합니다.MPMoviePlayerController 오디오가 장치에서 재생되지 않지만 시뮬레이터에서 재생됩니다.

누구든지 잘못된 아이디어가 있습니까? 내 코드는 다음과 같습니다.

// Construct the video's URL 
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://s3.amazonaws.com/<mybucket>/%d.m4v",videoFileNumber]]; 
vidPlayer = [[MPMoviePlayerController alloc] initWithContentURL: url]; 

// Set up the video player 
[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlayBackDidFinish:) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:vidPlayer]; 

vidPlayer.scalingMode = MPMovieScalingModeAspectFill; 
vidPlayer.controlStyle = MPMovieControlStyleDefault; 
vidPlayer.shouldAutoplay = YES; 

[self.view addSubview:vidPlayer.view]; 
[vidPlayer setFullscreen:YES animated:YES]; 

고마워요!

+0

해결책을 얻었습니까? 필자의 경우 오디오는 iPad 장치 및 시뮬레이터에서 사파리로 재생되지만 동일한 응용 프로그램에서만 내 장치에서 재생되지 않습니다. – ViruMax

답변

5

prepareToPlay을 잊어 버렸습니다. 이 전화는 절대적으로 중요합니다. 나는 확실히 문제를 해결할 것이라고 말하지는 않지만, 매우 잘 할 수도 있고, 당신은 절대적으로 이어야합니다.은 최신 iOS 시스템에서 호출해야합니다.

기타 : 정확히 무엇이 잘못되었는지 확인하려면 알림을 등록해야합니다. MPMoviePlayerPlaybackDidFinishNotification은 좋지만, 적어도 MPMoviePlayerLoadStateDidChangeNotification에 대해서도 강하게 권할 것입니다.

또한 오디오가 재생되고 있지 않지만 비디오가 재생 중이므로이 영화에 포함 된 오디오 형식에 신경 쓸 필요가 있음을 제안해야합니다. 이 장치에는 재생할 수있는 오디오 형식에 대한 몇 가지 놀라운 숨겨진 제한 사항이 있습니다. 예를 들어 과도하게 압축 된 오디오는 문제를 일으킬 수 있습니다.

+1

매트가 한 말. 시뮬레이터 (OS X)는 실제 장치 (iOS)보다 더 많은 형식을 재생할 수 있습니다. 기억하십시오. 시뮬레이터 일 뿐이며 전체 에뮬레이터는 아닙니다. –

+0

여러분! @matt가 언급 한 오디오 포맷과 오디오 포맷을 살펴볼 것이다. – SZH

관련 문제