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:

  • 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

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.

  • reproducir vídeo vimeo en videoview android
  • Cómo subir el video a vimeo a través de la aplicación android?
  • Política de seguridad de contenido de WebView
  • Reproduce youtube / vimeo vídeo incrustado en HTML en Android WebView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.