Vídeo de Vimeo deja de reproducirse en dispositivos Android 6
Estoy intentando reproducir video de Vimeo en mi aplicación. El problema es que en los dispositivos Android 6 el video deja de sonar después de un tiempo determinado. En dispositivos con una API más baja, todo funciona bien.
- El tiempo depende de la calidad. Para el video de la url proporcionada abajo juega un ciertos minutos (1 a 3). Cuánto más baja la calidad de vídeo cuánto tiempo más sigue jugando.
- Después de 1 a 3 minutos el mediaplayer lanza una excepción de protocolo. La aplicación no se bloquea en esto, pero el vídeo se congela cuando se reproduce la pieza de vídeo almacenada en búfer.
[MediaHTTPConnection] readAt 25182208 / 32768 => java.net.ProtocolException: unexpected end of stream and shows this in de log
- Después de la excepción, el video reproduce 30 segundos (almacenado en búfer), entonces la aplicación emite este
[MediaPlayer] error (1, -1004)
Estamos enviando correos electrónicos por semanas con el Soporte de Vimeo pero no pueden proporcionar una solución o una posible causa. Ahora, después de semanas de enviar por correo la mesa de asistencia, dice que no están soportando Android, pero hemos probado sus sugerencias:
- Reproductor Vimeo incrustado no se reproduce en Android
- Abrir la aplicación vimeo en mi aplicación de Android?
- El video Vimeo incrustado no se reproducirá en una aplicación PhoneGap, pero el mismo HTML funciona sin PhoneGap
- Iframe no cambia de tamaño en Android 2.3.6
- ¿Está Vimeo SDK disponible para Android?
- Utilice las direcciones URL redireccionadas y no redireccionadas
Http://player.vimeo.com/external/185069251.hd.mp4?s=fd7b4178a59166b3f636f2e48f1d49b99db66ed2&profile_id=174 [Redireccionado URL]
Https://fpdl.vimeocdn.com/vimeo-prod-skyfire-std-us/01/2013/7/185069251/610514667.mp4?token=586a9287_0xbb25f73405c612b30e0c64dc4c3a169e30137f84 [URL no redirigido]
-
Utilizar una vista de vídeo en lugar de un reproductor de medios
-
Hemos probado un Android nativo y una implementación de Xamarin Android
-
Intente descargar el archivo => esto funciona, pero queremos transmitirlo porque algunos videos tienen más de 30 minutos (> 100mb). Descomente el código en el onCreate en el DownLoadActivity para probar la descarga.
En el navegador todo funciona bien.
He colocado un testproject en We-Transfer donde puedes ver el problema https://bazookas.wetransfer.com/downloads/40dadcc8a01f7ebf025345cdf88b731220170102160508/21970a
- Problemas con Vimeo Player en Android WebView de la aplicación
- Obtener directo Vimeo video url Android
- InAppBrowser reproduce video de vimeo en el reproductor de video nativo automáticamente?
- Forzar el no-flash Vimeo incrustar o deshabilitar Flash en un WebView?
- ¿Reproduce vídeos de vimeo usando el reproductor nativo de android?
- Cómo jugar videos vimeo dentro de mi aplicación?
- Reproducción automática de vídeos vimeo en la vista web de Android
- Cómo jugar vimeo video usando iframe en la vista web?
HI en mi aplicación también estoy usando Vimeo pero de otra manera. Y funciona bien sin problemas en ningún sistema operativo. (Para Android nativo)
webView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.i("", "Processing webview url click..."); view.loadUrl(url); return true; } public void onPageFinished(WebView view, String url) { Log.i("", "Finished loading URL: " + url); Const.disMisProgressdialog(); } @Override public void onLoadResource(WebView view, String url) { super.onLoadResource(view, url); } }); if(windowwidth < 480) { webView.loadUrl("https://player.vimeo.com/video/<YOUR VEMIO ID>?player_id=player&autoplay=1&title=0&byline=0&portrait=0&api=1&maxheight=320&maxwidth=480"); }else{ webView.loadUrl("https://player.vimeo.com/video/<YOUR VEMIO ID>?player_id=player&autoplay=1&title=0&byline=0&portrait=0&api=1&maxheight=480&maxwidth=800"); }
para
Windowwidth
Int windowwidth = getWindowManager (). GetDefaultDisplay (). GetWidth ();
Int windowheight = getWindowManager (). GetDefaultDisplay (). GetHeight ();
Parece que el problema con la url que utiliza. Utiliza url de vimeo api para archivos HD. Y por alguna razón el sistema android no permite almacenar en caché más de una cierta cantidad de KB.
Si cambia la url de HD a vimeoHLS – link para streaming, todo funciona bien. Se arregló el problema para mi Android 7, pero no he probado esto para otra versión aún Tho.
No se puede encontrar una razón por la que esto no funciona en Android 6+, pero funciona bien para las versiones inferiores.
- Escala de un dibujable dentro de un botón?
- Hilo que se queda atascado en BlockingQueue.take sin motivo aparente