Estoy trabajando en el proyecto de Android (API nivel 8) mostrando WebView
desde otro sitio web que no puedo cambiar el código de estos sitios web. Tengo problemas con un clip de video en WebView
en algunos dispositivos que no permiten la representación Forzada GPU (en la configuración -> Opciones de desarrollador). Los siguientes códigos son los códigos que he leído desde el sitio webvideo con iframe no se muestra en Android Webview
<center><iframe width=\"500\" height=\"315\" src=\"http:\/\/www.youtube.com\/embed\/bf7wpubnyIE\" frameborder=\"0\" allowfullscreen><\/iframe><\/center> <br \/>
y
<center> <iframe frameborder=\"0\" width=\"480\" height=\"323\" src=\"http:\/\/www.dailymotion.com\/embed\/video\/xrmnk1\"><\/iframe> <\/center><br \/>
Por el lado de Android ya puedo activar varias opciones de configuración que son
webview.setWebChromeClient(new WebChromeClient());
webview.setWebViewClient(new WebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setPluginsEnabled(true);
creo que no se puede use android:hardwareAccelerated="true"
ya que estoy trabajando en el nivel de API 8
Cuando apago la Fuerza La GPU que muestra el error en logcat se muestra como sigue
06-20 14:04:24.455: W/webview(28201): at android.webkit.WebView.checkThread(WebView.java:9468)
06-20 14:04:24.455: W/webview(28201): at android.webkit.WebView.loadDataWithBaseURL(WebView.java:2186)
06-20 14:04:24.455: W/webview(28201): at com.tss.one.MainDetail$1.run(MainDetail.java:144)
06-20 14:04:24.455: W/webview(28201): at java.lang.Thread.run(Thread.java:856)
06-20 14:04:24.533: V/PhoneStatusBar(10977): setLightsOn(true)
06-20 14:04:24.697: I/ActivityManager(10909): Displayed com.tss.one/.MainDetail: +614ms
06-20 14:04:27.197: D/libEGL(28201): loaded /system/lib/egl/libGLES_android.so
06-20 14:04:27.205: D/libEGL(28201): loaded /vendor/lib/egl/libEGL_POWERVR_SGX540_120.so
06-20 14:04:27.221: D/libEGL(28201): loaded /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so
06-20 14:04:27.229: D/libEGL(28201): loaded /vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
06-20 14:04:27.729: E/Web Console(28201): Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL http://www.youtube.com/embed/bf7wpubnyIE. Domains, protocols and ports must match.
06-20 14:04:27.729: E/Web Console(28201): at null:1
06-20 14:04:27.838: E/libEGL(28201): call to OpenGL ES API with no current context (logged once per thread)
06-20 14:04:27.838: D/ShaderProgram(28201): couldn't load the vertex shader!
06-20 14:04:27.838: D/ShaderProgram(28201): couldn't load the vertex shader!
06-20 14:04:27.838: D/ShaderProgram(28201): couldn't load the vertex shader!
06-20 14:04:27.838: D/ShaderProgram(28201): couldn't load the vertex shader!
06-20 14:04:27.838: D/ShaderProgram(28201): couldn't load the vertex shader!
06-20 14:04:28.213: D/dalvikvm(28201): GC_CONCURRENT freed 3468K, 17% free 20475K/24519K, paused 3ms+2ms
06-20 14:04:29.783: E/Web Console(28201): Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1 at http://static1.dmcdn.net/js/gen/widget/pack/player.js.v91ec0434953824904:1
06-20 14:04:29.791: D/MediaPlayer(28201): Couldn't open file on client side, trying server side
06-20 14:04:29.791: I/AwesomePlayer(10888): setDataSource_l('http://www.dailymotion.com/cdn/H264-512x384/video/xrmnk1.mp4?auth=1340348666-9f8ec9001ccce92feec18d9419b07065&helper=0')
06-20 14:04:29.791: V/ChromiumHTTPDataSource(10888): connect on behalf of uid 10124
06-20 14:04:29.791: I/ChromiumHTTPDataSource(10888): connect to http://www.dailymotion.com/cdn/H264-512x384/video/xrmnk1.mp4?auth=1340348666-9f8ec9001ccce92feec18d9419b07065&helper=0 @0
06-20 14:04:33.291: I/SampleTable(10888): There are reordered frames present.
06-20 14:04:33.299: I/OMXCodec(10888): [OMX.TI.DUCATI1.VIDEO.DECODER] AVC profile = 66 (Baseline), level = 30
06-20 14:04:33.299: I/OMXCodec(10888): [OMX.TI.DUCATI1.VIDEO.DECODER] video dimensions are 512 x 344
06-20 14:04:33.299: I/OMXCodec(10888): [OMX.TI.DUCATI1.VIDEO.DECODER] Crop rect is 512 x 344 @ (0, 0)
06-20 14:04:34.432: I/OMXCodec(10888): [OMX.TI.DUCATI1.VIDEO.DECODER] video dimensions are 640 x 448
06-20 14:04:34.432: I/OMXCodec(10888): [OMX.TI.DUCATI1.VIDEO.DECODER] Crop rect is 512 x 344 @ (0, 0)
06-20 14:04:34.604: I/OMXCodec(10888): [OMX.TI.DUCATI1.VIDEO.DECODER] video dimensions are 640 x 448
06-20 14:04:34.604: I/OMXCodec(10888): [OMX.TI.DUCATI1.VIDEO.DECODER] Crop rect is 512 x 344 @ (32, 24)
06-20 14:04:34.612: W/SoftAAC(10888): Sample rate was 44100 Hz, but now is 22050 Hz
06-20 14:04:39.666: I/NuCachedSource2(10888): ERROR_END_OF_STREAM
¿Encontró una solución? –
También tengo este problema, y dado que el navegador predeterminado Android 4.0 y la aplicación Chrome pueden superar esto (al menos para Youtube), debería ser una forma de hacerlo. –