2017-09-05 32 views
0

我想建立一個功能,播放聲音效果混合通過JavaScript調用。WKwebview,js打電話發揮聲音與斯威夫特功能

問題

在WKWebView,我們無法控制與像Spotify音樂應用程序混合的聲音。

想法是有一個小函數在迅速如何「listend」到一個js調用。所以當我調用js函數時,應用程序會播放與其他背景音樂混合的音效。

請幫

回答

0

如果我理解正確的話,你需要擁有的功能在你的JS文件,不僅包含你的主要功能,而且還稱這個小碼:

... 
if(window.webkit){ 
    window.webkit.messageHandlers["scriptHandler"].postMessage("ShouldPlaySound"); 
} 

然後擴展您的快速控制器WKScriptMessageHandler。將webView.navigationDelegate設置爲此控制器,並在此控制器內創建功能:

func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { 

    let messageBody:String = message.body as! String 
    if(messageBody == "ShouldPlaySound"){ 
     // Play your sound 
    } 
}