2015-09-25 148 views
4

由於iOS9的發佈,我們可以使用loadFileURL:allowingReadAccessToURL:wkWebView無法播放本地音頻

這看起來不錯迄今呈現了wkWebView本地HTML,但我們是從HTML中扮演一個當地的mp3有問題。 有一個<audio>標記,src屬性具有相對於mp3文件的路徑。

iOS9模擬器正確播放我們的MP3,但物理設備沒有。使用JavaScript捕捉錯誤顯示networkState NETWORK_NO_SOURCE,這對我們毫無意義... 使用http URL作爲src,並且從網上流式傳輸mp3效果良好。

有沒有人管理,以播放本地音頻文件與wkWebView

+0

同樣的問題在這裏 –

+0

同樣的問題,有人想通了嗎? – JohnnyC

+0

相關(我認爲):https://github.com/RLovelett/WKWebViewVideo一個示例項目,說明了相同的概念,但有一個'

回答

0

很容易修復其實你只需要前綴localhost上的SRC URL和您WKWebview端口(默認爲12344)。

轉成B:

<!-- A --> 
<audio src="img/beep.mp3" controls></audio> 

<!-- B --> 
<audio src="http://localhost:12344/img/beep.mp3" controls></audio> 
1

這似乎是一個WKWebView內部的代碼不能訪問本地文件。我不知道如果這是預期的行爲或

loadFileURL:allowingReadAccessToURL:在之前的iOS 9中引入一個bug(雷達,任何人嗎?),有一個workaround將其複製到tmp/www載入本地HTML文件。

出人意料的是,文件,然後可以有從WKWebView內訪問 - 包括媒體文件。

2

我也在iOS 9.2上遇到過這個問題。具有本地網址的視頻在模擬器上播放效果不錯,但不會在設備上播放。使用Safari工具進行調試顯示視頻錯誤爲相同的無源錯誤。我們提出了雷達吧:http://www.openradar.me/24281444 這裏是瘋狂的一部分 - 工作(而不必運行本地虛擬主機)是,我們發現,如果你在一個UIWebView首先播放的視頻,則wkwebview視頻會工作一個缺憾解決方法。我們採取了這樣的一步,使用的是隱藏發揮半秒視頻沒有聲音的已在標籤的自動播放屬性和Web視圖一個UIWebView有 uiWebView.mediaPlaybackRequiresUserAction = false 雖然哈克因爲什麼,我已經看到它造成WKWebview到然後播放視頻罰款。所以再解決一個問題,直到他們解決問題。