Android WebView中的视频仅播放声音

Android WebView中的视频仅播放声音,android,android-webview,android-video-player,Android,Android Webview,Android Video Player,我有以下问题:我正在使用WebView在我的应用程序中显示一些内容。有时会有一段视频嵌入到本WebView中呈现的内容中。问题是,单击“播放”后,视频开始播放,但看不到图像-只播放声音。在开始视频之前,将显示正确的缩略图。在LogCat中,我看到以下错误消息: 06-26 16:51:21.449 25222-25222/com.package.app V/MediaPlayer-JNI﹕ native_setup 06-26 16:51:21.449 25222-25222/com.pac

我有以下问题:我正在使用
WebView
在我的应用程序中显示一些内容。有时会有一段视频嵌入到本
WebView
中呈现的内容中。问题是,单击“播放”后,视频开始播放,但看不到图像-只播放声音。在开始视频之前,将显示正确的缩略图。在LogCat中,我看到以下错误消息:

06-26 16:51:21.449  25222-25222/com.package.app V/MediaPlayer-JNI﹕ native_setup
06-26 16:51:21.449  25222-25222/com.package.app V/MediaPlayer﹕ constructor
06-26 16:51:21.459  25222-25222/com.package.app V/MediaPlayer﹕ setListener
06-26 16:51:21.459  25222-25222/com.package.app I/MediaPlayer﹕ path is null
06-26 16:51:21.479  25222-25222/com.package.app D/MediaPlayer﹕ setDataSource IOException happend :
    java.io.FileNotFoundException: No content provider: http://example.com/linktovideo.mp4
            at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1052)
            at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:907)
            at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:834)
            at android.media.MediaPlayer.setDataSource(MediaPlayer.java:987)
            at com.android.org.chromium.media.MediaPlayerBridge.setDataSource(MediaPlayerBridge.java:117)
            at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
            at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5356)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)
06-26 16:51:21.479  25222-25222/com.package.app D/MediaPlayer﹕ Couldn't open file on client side, trying server side
相同的视频在Chrome for Android web浏览器中正确显示

用于显示我的网络视图的代码

        mWebView = (WebView) v.findViewById(R.id.details_web_view);
        mWebView.getSettings().setJavaScriptEnabled(false);
        mWebView.setBackgroundColor(0x00000000);
        mWebView.setWebViewClient(new CustomWebViewClient());
        mWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        mWebView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
CustomWebViewClient:

private class CustomWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (url != null && url.startsWith("http://")) {
                getActivity().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                AnalyticsHandler.sendAction(getActivity(), AnalyticsHandler.ACTION_CLICKED_ON_URL_IN_ARTICLE, url);
            }
            return true;
        }
    }

将此代码添加到webview中

WebSettings.setJavaScriptEnabled(true);
试一试


Javascript与显示mp4视频有任何关系吗?添加这一行后,仍然只听不到图像。
mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);