Meine Webseiten haben eingebettete Videodateien mit html5-Video-Tags.Das Video kann nicht in Android Web View angezeigt werden.
Ich habe einen eingebetteten Webserver (NanoHTTPD) ausgeführt, der meine Datei aus dem Dateisystem dient. Alles andere funktioniert, aber wenn ich auf Wiedergabe des HTML5-Videos klicke. Es gibt die folgenden Fehler und das Video
09-29 20:38:36.620: D/HTML5VideoInline(11532): HTML5VideoInline created
09-29 20:38:36.625: V/MediaPlayer(11532): setVideoSurfaceTexture
09-29 20:38:36.625: V/MediaPlayer-JNI(11532): reset
09-29 20:38:36.625: V/MediaPlayer(11532): reset
09-29 20:38:36.625: I/MediaPlayer(11532): path is null
09-29 20:38:36.640: D/MediaPlayer(11532): setDataSource IOException happend :
09-29 20:38:36.640: D/MediaPlayer(11532): java.io.FileNotFoundException: No content provider: http://10.207.114.115:8765/SLC/Book3_html/Book3/book/BO/demo.mp4
09-29 20:38:36.640: D/MediaPlayer(11532): at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:713)
09-29 20:38:36.640: D/MediaPlayer(11532): at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:617)
09-29 20:38:36.640: D/MediaPlayer(11532): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:954)
09-29 20:38:36.640: D/MediaPlayer(11532): at android.webkit.HTML5VideoView.prepareDataCommon(HTML5VideoView.java:326)
09-29 20:38:36.640: D/MediaPlayer(11532): at android.webkit.HTML5VideoView.prepareDataAndDisplayMode(HTML5VideoView.java:363)
09-29 20:38:36.640: D/MediaPlayer(11532): at android.webkit.HTML5VideoInline.prepareDataAndDisplayMode(HTML5VideoInline.java:72)
09-29 20:38:36.640: D/MediaPlayer(11532): at android.webkit.HTML5VideoViewProxy$VideoPlayer.play(HTML5VideoViewProxy.java:289)
09-29 20:38:36.640: D/MediaPlayer(11532): at android.webkit.HTML5VideoViewProxy.handleMessage(HTML5VideoViewProxy.java:465)
09-29 20:38:36.640: D/MediaPlayer(11532): at android.os.Handler.dispatchMessage(Handler.java:99)
09-29 20:38:36.640: D/MediaPlayer(11532): at android.os.Looper.loop(Looper.java:137)
09-29 20:38:36.640: D/MediaPlayer(11532): at android.app.ActivityThread.main(ActivityThread.java:5306)
09-29 20:38:36.640: D/MediaPlayer(11532): at java.lang.reflect.Method.invokeNative(Native Method)
09-29 20:38:36.640: D/MediaPlayer(11532): at java.lang.reflect.Method.invoke(Method.java:511)
09-29 20:38:36.640: D/MediaPlayer(11532): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
09-29 20:38:36.640: D/MediaPlayer(11532): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
09-29 20:38:36.640: D/MediaPlayer(11532): at dalvik.system.NativeStart.main(Native Method)
09-29 20:38:36.640: D/MediaPlayer(11532): Couldn't open file on client side, trying server side
Der Media-Player zum Inhalt Resolver geht nicht gespielt wird, die nur Dateien von Content-Schema zu laden versucht. Meine URLs sind von HTTP-Schema.
Meine Webansicht ist schlicht und einfach.
WebSettings webViewSettings = webView.getSettings();
webViewSettings.setJavaScriptEnabled(true);
//webViewSettings.setJavaScriptCanOpenWindowsAutomatically(false);
//webViewSettings.setSupportMultipleWindows(true);
webViewSettings.setPluginState(PluginState.ON);
//webViewSettings.setMediaPlaybackRequiresUserGesture(false);
webViewSettings.setAllowFileAccess(true);
webView.setSoundEffectsEnabled(true);
//webViewSettings.setSupportZoom(true);
//WebView.setWebContentsDebuggingEnabled(true);
webView.setWebViewClient(new CustomWebViewClient());
webView.setWebChromeClient(mWebChromeClient);
prost, Saurav
https: // stackoverflow. com/a/16179544/6490462 – Ibrahim