3

MPMoviePlayerControllerAmazon S3 からビデオをストリーミングする iOS アプリを持っています。ビデオは正常に再生されますが、デバイス (iOS 6 でテストしましたが、他のデバイスについてはわかりません) ではオーディオが再生されないようです。オーディオは、デバイスではなく、エミュレーターで正常に機能します。

何が悪いのか誰にも考えがありますか?これが私のコードです:

// 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];

ありがとうございました!

4

1 に答える 1

5

言い忘れましたprepareToPlay。この呼び出しは絶対に不可欠です。問題が確実に解決するとは言いませんが、問題が解決する可能性は非常に高く、最新の iOS システムでは絶対に呼び出す必要があります。

また、何が問題なのかを正確に知るには、通知に登録する必要があります。良いですが、少なくとも同様MPMoviePlayerPlaybackDidFinishNotificationに登録することを強くお勧めします.MPMoviePlayerLoadStateDidChangeNotification

さらに、オーディオは再生されていませんが、ビデオは再生されているため、この映画に含まれるオーディオの形式に注意することをお勧めします。このデバイスには、再生できるオーディオ フォーマットに関していくつかの驚くべき隠れた制限があります。たとえば、過度に圧縮されたオーディオは問題を引き起こす可能性があります。

于 2013-05-09T16:18:39.883 に答える