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


Detectar si Android SurfaceView está dibujando / moviendo

Estoy usando libvlc en and android app para reproducir un flujo de red; El código nativo dibuja la imagen en una vista de superficie.

Supongamos que el video se detiene y no tengo acceso al código nativo, ¿cómo puedo detectar si SurfaceView sigue en movimiento (el video no está congelado)?

He intentado getViewTreeObserver (). AddOnDrawListener (); Y getViewTreeObserver (). AddOnPreDrawListener (); Pero no tienen el efecto que estoy buscando.

Gracias

  • Uso de libVLC para Android en la plataforma Windows
  • VLC RTSP transmisión en vivo a Android
  • Reproducción de FLV / HTTP en la aplicación de Android
  • El proyecto VLC para Android falló en Ubuntu 12.04
  • Android libvlc problemas de superficie múltiples
  • Cámara de streaming con RTP de Android a PC
  • 2 Solutions collect form web for “Detectar si Android SurfaceView está dibujando / moviendo”

    No se puede obtener esa información desde SurfaceView, porque SurfaceView no lo sabe.

    El trabajo de SurfaceView consiste en configurar la superficie y crear un agujero en el diseño de vista que se puede ver a través. Una vez que ha hecho estas cosas, ya no participa activamente en el proceso de visualización de vídeo. El contenido fluye desde el decodificador hasta la superficie, que es gestionado por SurfaceFlinger (el compositor de gráficos del sistema).

    Esto es, por ejemplo, cómo funciona el video DRM. La aplicación "reproducir" el vídeo no tiene acceso a marcos de vídeo protegidos con DRM. (Tampoco SurfaceFlinger, en realidad, pero eso es una historia más larga.)

    La mejor manera de saber si el contenido sigue llegando es preguntar a la fuente de vídeo si todavía le está enviando contenido. Otro enfoque sería cambiar su SurfaceView a un TextureView , y proporcionar un método de devolución de llamada onSurfaceTextureUpdated() .

    No estoy seguro qué exactamente qué usted está intentando alcanzar aquí pero usted puede ver si la visión superficial está representando o no con la aplicación de una interfaz llamada SurfaceHolder.Callback que le da el acceso a los métodos siguientes,

    1. On Surface Created – Esto se llama inmediatamente después de que la superficie se crea por primera vez.

    2. Sobre la superficie cambiada – Esto se llama inmediatamente después de cualquier cambio estructural (formato o tamaño) se han hecho a la superficie.

    3. Sobre la superficie destruida – Esto se llama inmediatamente antes de que una superficie esté siendo destruida.

    Echa un vistazo a la documentación para ver la superficie. Para SurfaceHolder eche un vistazo a este enlace . Básicamente para conocer

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