如何使来自 UIWebView 的音频静音
Posted
技术标签:
【中文标题】如何使来自 UIWebView 的音频静音【英文标题】:How do I mute the audio coming from a UIWebView 【发布时间】:2012-04-19 22:22:49 【问题描述】:我的应用包含一个带有第 3 方内容的 UIWebView。内容有时包括 html5 视频。当用户通过我的应用程序的设置或通过响铃/静音开关使音频静音时,我想要一种使 html5 音频静音的方法。
我尝试使用所有这些都无济于事:
[[AVAudiosession sharedInstance] setCategory: AVAudioSessionCategorySoloAmbient error:nil]];
[[MPMusicPlayerController applicationMusicPlayer] setVolume:0.0];
[[MPMusicPlayerController iPodMusicPlayer] setVolume:0.0];
【问题讨论】:
【参考方案1】:我也在想同样的事情。我有一个播放 HTML5 音频的 UIWebView。我认为解决方案将分为两部分:
我必须明确允许在 web 视图中播放音频:
// Allow audio playback in the UIWebView:
self.webView.allowsInlineMediaPlayback = YES;
self.webView.mediaPlaybackRequiresUserAction = NO;
所以,如果有办法在静音开关关闭时有条件地将它们设置为相反,那就可以了。
问题是,在 iOS 5.0 及更高版本中似乎没有办法做到这一点。
【讨论】:
我几乎可以肯定这是不可能的 实际上,找到了一个开发者,他正在销售一个声称可以做到这一点的存档:verietassoftware.com/…(我尝试了他们的示例应用程序,它在我的运行 iOS 5.1 的 4S 上运行。) 这是一个有趣的库,但它只是告诉你是否启用了响铃静音开关。它不提供任何方法来消除从 UIWebView 发出的音频。以上是关于如何使来自 UIWebView 的音频静音的主要内容,如果未能解决你的问题,请参考以下文章