如果背景音频处于活动状态,MPMoviePlayerController将冻结

时间:2012-09-03 04:17:19

标签: ios audio video mpmovieplayercontroller avfoundation

在视图控制器中,我有一个视频播放和一些背景音乐。如果正在播放背景音乐,则视频在循环播放时会冻结。如果背景音乐没有正常播放视频,则应该正常播放。

以下是我设置视频播放器的方法:

self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[self getBundleClip:@"MyVideo"]];
self.moviePlayer.controlStyle = MPMovieControlStyleNone;
self.moviePlayer.shouldAutoplay = YES;
self.moviePlayer.repeatMode = MPMovieRepeatModeOne;

音频正在通过此Sound Manager播放。知道为什么视频会冻结吗?

1 个答案:

答案 0 :(得分:0)

尝试在后台AVAudioPlayer中播放播放音乐并播放同一时间MPMoviePlayerController,如下面的代码,以重复模式播放AVAudioplayer:

首先在头文件(.h)中初始化AVAudioplayer对象,如下所示:

@interface  Yourviewcontroller : UIViewController
{
    //your some codes after
    AVAudioPlayer *audioPlayer;
}

@property (strong, nonatomic) AVAudioPlayer *audioPlayer;

实现后播放音频文件,如下面的代码:

    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:    [[NSBundle mainBundle] pathForResource:@"audio" ofType:@"mp3"]] error:NULL]; 

    audioPlayer.numberOfLoops =-1;//it's play audio repeatedly
    audioPlayer.currentTime=0.0f;
    [audioPlayer prepareToPlay];

播放音频后,项目的任何部分如下代码:

  [audioPlayer play];

你想要像以下代码一样停止音频播放器:

 [audioPlayer stop];