我正在开发一款游戏,在标题序列中使用MPMoviePlayerController在后台播放视频。我将游戏控件覆盖在此(只有几个纹理UIButtons)。
视频本身没有音频,但是当我通过OpenAL按下按钮时,我正在播放声音。 音频会话设置为“Ambient”,每当MPMoviePlayerController不在时,它就会正确响应设备的静音按钮和音量。但是一旦视频开始播放,它就会发出声音而不考虑静音或音量设置。
任何人都可以帮助我吗? MPMoviePlayerController是否干扰了AudioSession状态? 有没有办法阻止这种情况发生。我的电影里面没有声音,所以不需要这样做。
答案 0 :(得分:2)
MPMoviePlayerController使用AVAudioPlayer共享实例。所以你可以逐字设置MPMoviePlayerController的音量,它会调低你的背景音乐。但是,更好的方法是告诉MPMoviePlayerController不要使用共享实例。
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"intro" ofType:@"m4v"]];
self.player = [[MPMoviePlayerController alloc] initWithContentURL:url];
self.player.movieSourceType = MPMovieSourceTypeFile;
**[self.player setUseApplicationAudioSession:FALSE];**