2015-08-26 63 views
1

我將*.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://方案用過的。

硬件加速開啓此活動,所有的設置,如setWebChromeClientsetWebViewClient和設置,如setJavaScriptEnabledsetPluginStatesetAllowFileAccess也已經打開。 WRITE_EXTERNAL_STORAGE權限也存在。

我試圖在WebView中使用loadUrl,loadDataloadDataWithBaseURL顯示這個*.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中顯示它?

回答