使用MPMoviePlayerViewController和iOS5的iPad上没有音频,可在模拟器中使用

时间:2012-01-13 00:17:19

标签: audio ios5 mpmovieplayercontroller

自从我更新到iOS 5后,我无法让MPMoviePlayerViewController在iPad上播放音频。视频很完美,但没有听到音频。我使用的格式无关紧要。这是行不通的。它适用于模拟器,但不适用于iPad。

- (IBAction)playVideo {

    NSString *filepath   =   [[NSBundle mainBundle] pathForResource:@"test" ofType:@"m4v"];
    NSURL    *fileURL    =   [NSURL fileURLWithPath:filepath];
    moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL];

    [[NSNotificationCenter defaultCenter]
     addObserver:self selector:@selector(movieFinishedPlaying:)
     name:MPMoviePlayerPlaybackDidFinishNotification 
     object:[moviePlayer moviePlayer]];

    [self presentMoviePlayerViewControllerAnimated:moviePlayer];

}

其他人有这个问题吗?还是找到了修复方法?

5 个答案:

答案 0 :(得分:11)

这听起来很傻,但我们在我的团队遇到了一个问题,即一般iPad声音的音量控制被静音,这意味着我们的应用程序中没有播放视频的声音,即使音乐通过音乐播放器播放或网站上的视频效果很好。

要检查此音量控制,您可以调出任务管理器(双击主页按钮),然后向左滑动并有一些音乐控件;检查此屏幕上的静音按钮是否未打开。

答案 1 :(得分:4)

试试这个:

...
moviePlayer.useApplicationAudioSession = NO;
[self presentMoviePlayerViewControllerAnimated:moviePlayer];

答案 2 :(得分:4)

在分配MPMoviePlayerController之前设置音频会话将与视频一起播放声音

AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];

答案 3 :(得分:1)

确保视频文件中的音频格式是iPad可以播放的内容。我相信模拟器可以访问主机的编解码器,这可以解释为什么iPad可以播放视频但不能播放音频。如this page in the MPMoviePlayerController文档中所述:

  

如果您使用此课程播放音频文件,则会在播放音频时显示带有QuickTime徽标的白色屏幕。对于音频文件,此类支持高达48 kHz的AAC-LC音频和高达48 kHz的MP3(MPEG-1 Audio Layer 3)立体声音频。

答案 4 :(得分:1)

我只是将侧面的滑动按钮变成锁定屏幕。然后声音突然发挥作用。