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:

  • Facebook Canvas App en WebView no funciona en Android (en la aplicación nativa de Facebook)
  • Quitar icono de la contraseña de la muestra en Android N
  • Uso de Retrofit para acceder a los arrays JSON
  • Crashlytics desarrollador error de herramientas al construir android -grado proyecto
  • Android: ¿Cuál es la diferencia entre una barra de título y una barra de aciton
  • ¿Comportamiento diferente para FillType.EVEN_ODD al agregar un CornerPathEffect?
    • 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

  • Android Location Manager, Obtener ubicación GPS, si no hay GPS, luego llegar a la ubicación del proveedor de red
  • ¿Cómo configurar la hora y la fecha del sistema móvil en android?
  • Orientación de la captura de la cámara en dispositivos samsung en android
  • Error de biblioteca de soporte de Android después de actualizar a 23.3.0
  • Comprobar si Android WebView está consumiendo eventos táctiles
  • Android SlidingDrawer no deshabilita los botones 'debajo' del cajón
  • 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.