我將*.mp4
文件加載到CD卡中的/data/data/package_name/cache
目錄中。在webview中使用HTML5視頻標記顯示CD卡中的視頻文件
如果我使用webView.loadUrl("/data/data/package_name/cache/filename.mp4")
- 它的工作原理。
但是我想表明它裏面的WebView,使用<video>
HTML5標籤:
<video src="file:///data/data/package_name/cache/filename.mp4"></video>
根據source codeMediaResourceGetter
接受filePathes是: /mnt/sdcard/
,/sdcard/
和"/data/data/" + context.getPackageName() + "/cache/"
否則會Refusing to read from unsafe file location
錯誤,如果file://
方案用過的。
硬件加速開啓此活動,所有的設置,如setWebChromeClient
,setWebViewClient
和設置,如setJavaScriptEnabled
,setPluginState
,setAllowFileAccess
也已經打開。 WRITE_EXTERNAL_STORAGE
權限也存在。
我試圖在WebView中使用loadUrl
,loadData
和loadDataWithBaseURL
顯示這個*.mp4
文件,但視頻不播放 - 只是視頻圖標。 (我已經使用Android 5.1在Nexus 4上進行了測試,並且顯示了來自html的其他內容)。
在logcat的任何錯誤或警告,只是這樣的:
D/MediaResourceGetter﹕ canonicalized file path: /data/data/com.myapp/cache/filename.mp4
D/MediaResourceGetter﹕ resource has video
D/MediaResourceGetter﹕ extracted valid metadata: MediaMetadata[durationInMilliseconds=12804, width=480, height=198, success=true]
我發現the same problem,但沒有解決方案。
如何使用<view>
標記在WebView
中顯示它?