如何关闭&打开MPMoviePlayerController的音频。我试过useApplicationAudioSession这个属性,即使它不起作用。你能帮我吗?
答案 0 :(得分:12)
永远不会太晚回答吧?正在寻找一种方法来做到这一点,我花了一段时间才找到正确的链接。
首先请注意useApplicationAudioSession
现在(iOS 6)已弃用
设置环境音频会话将阻止在其他应用中停止audo
在代码中的某处设置:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
在我的情况下,将类别设置为AVAudioSessionCategoryAmbient
就可以了!
答案 1 :(得分:1)
我只是想在2016年加入这个讨论,说这样静音音频仍然适用于Xcode 8.请注意,我使用NSUserDefaults来跟踪用户是否已打开侧面开关:
// Mute audio depending on side switch state
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"RINGER_IS_ON"]) {
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; // Ignore the side swicth - play audio
} else {
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; // Respect the side switch - don't play audio
}
答案 2 :(得分:0)
检查最后一行
useApplicationAudioSession
一个布尔值,指示电影播放器是否应使用应用程序的音频会话。
@property (nonatomic) BOOL useApplicationAudioSession
<强>讨论强>
此属性的默认值为 是。将此属性设置为NO 导致电影播放器使用 系统提供的音频会话 不可混合的播放类别。
重要提示:在iOS 3.1及更早版本中,电影播放器始终使用 系统提供的音频会话。至 在iOS 3.2中获得相同的行为 更新,你必须设置这个 财产的价值为NO。
当此属性为YES时,电影 播放器共享应用程序的音频 会话。这让你可以控制 电影播放器内容如何相互作用 与您的音频和音频 其他应用程序,如iPod。 有关使用此的重要指导 功能,请参阅“使用电影和 iPod音乐“在音频会话中 编程指南。
更改此属性的值 不影响当前播放 电影。要进行新设置 效果,你必须停止播放和 然后重新开始。
[[MPMusicPlayerController applicationMusicPlayer] setVolume:(use a value between 0.0 and 1.0)]
如果您的MPMoviePlayerController
使用应用程序音频会话,则应调整音量。但要小心使用它..这是一个解决方法