Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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:

  • Android AlertDialog con texto dinámicamente cambiante en cada solicitud
  • ¿Cómo publicar datos en un Webservice usando JSON?
  • Cambio de color de los botones DialogFragment en Lollipop
  • ¿Cómo obtengo el _count en mi proveedor de contenido?
  • Color del borde para el editor en Xamarin.Forms
  • Drawable to byte
    • 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

  • Cómo implementar correctamente Parcelable con un ArrayList <Parcelable>?
  • Uso de la barra de acción de soporte de inicio activada
  • Android: detecta si Wifi requiere acceso al navegador
  • ¿Cómo puedo dar un efecto de clic de vista de imagen como un botón en Android?
  • No se utiliza el icono de notificación FCM
  • ¿Cualquier diferencia de comportamiento de estos estados ligeramente diferentes estirables?
  • 2 Solutions collect form web for “Vídeo de Vimeo deja de reproducirse en dispositivos Android 6”

    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.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.