簡體   English   中英

設置AVAudioSession類別對WKWebView的聲音沒有影響

[英]Setting AVAudioSession Category has no effect on sound from WKWebView

從WKWebView播放音頻時,我似乎無法覆蓋AVAudioSession類別或端口。 使用普通的UIWebView時,相同的代碼可以正常工作。

AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&err];

我也試過像這樣激活sharedInstance ,但它沒有幫助:

[session setActive: YES error: nil];

上面的代碼對來自WKWebView的音頻沒有影響。 我確實在Twitter上發現一些報告稱iOS 8.1正在將WKWebView音頻與后台應用音頻混合在一起,但我無法找到它的來源。 請參閱此twitter帖子以供參考: https//twitter.com/marcoarment/status/530881842900373504

顯然,WKWebView在與您的應用程序不同的進程中運行。 這可能意味着,它也有自己的AudioSession,與你的應用程序的AudioSession分開。 這就是為什么更改應用程序的AudioSession不會影響webView的原因。 以及為什么它適用於UIWebView(沒有單獨的過程)。 至少那是我到目前為止收集的內容......

我的解決方案是允許我的應用程序的AudioSession與其他人混合:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord 
                                 withOptions:AVAudioSessionCategoryOptionMixWithOthers
                                       error:&error];

當然,這也有其他含義。 您應用的音頻將與所有其他應用的音頻混合,而不僅僅是您的網絡視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM