Superponer una imagen (sobre lienzo) en un VideoView?

Estoy intentando poner un lienzo sobre un VideoView. En este lienzo me gustaría poder dibujar imágenes (o rectángulos, líneas, ect).

Tengo el siguiente fragmento en mi archivo XML.

<VideoView android:id="@+id/videoplayer" android:layout_width="fill_parent" android:layout_height="wrap_content" /> 

Una vez más, mi objetivo es tener un lienzo sobre este VideoView para que pueda poner imágenes en el lienzo.

Por lo tanto, en última instancia, tendría imágenes superpuestas en el video. También me gustaría poder superponer rectángulos y otros elementos.

Cualquier ayuda sería muy apreciada! Esto fue mucho más difícil de lo que pensé!

He escrito una aplicación que hace exactamente lo que estás buscando. Desafortunadamente no tengo el código conmigo ahora pero recuerdo dónde encontré el código que me ayudó mucho!

Como se puede ver en este video y este es muy posible dibujar lo que quieras en la parte superior del video de vapor, sólo tiene que asegurarse de que no deje caer el FPS demasiado.

Aquí puede encontrar el tutorial y el código. Lo que hice fue que empecé a sacar trozos del código, como después de que aprendí lo que hizo y lo que quiero cambiar con. Realmente aceleró mi trabajo en el PoC en el que trabajé.

Espero que ayude, y estaré encantado de ayudarle más si necesita algo más.

¡Buena suerte!

Utilice un diseño relativo. Aquí es lo que utilizo para superponer una imagen en mi mapa:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <fragment android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment"/> <ImageView android:id="@+id/add_new_poi_icon_overlay" android:layout_width="match_parent" android:layout_height="match_parent" android:contentDescription="@string/add_new_poi_icon_content_description" android:scaleType="centerCrop" android:src="@drawable/overlay_with_watermark" android:visibility="gone" /> </RelativeLayout> 

Sólo cambia el scaletype a lo que necesitas y usa estos params para ponerlo donde quieras:

 android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_marginBottom="54dp" android:layout_marginLeft="36dp" 

Creo que necesita más de una imagen, ¿verdad?

Así que, prueba esto:

  1. Use GLSurfaceView
  2. Crear una textura
  3. Crear una SurfaceTexture
  4. Crear una superficie con SurfaceTexture
  5. Decir la salida de MediaPlay a la superficie creada anteriormente
  6. Hacer la SurfaceTexture
  7. Render otros widgets (botón de barra de progreso, etc)
  • Cómo crear una devolución de llamada (agregar como argumento dinámico, una función)?
  • ¿Cómo cerrar otra aplicación en Android?
  • ¿Cómo revisar el campo en android-saripaar?
  • Androide. Cómo mover el objeto en la dirección que se enfrenta (usando Vector3 y Quaternion)
  • Cómo crear una tabla dinámica de datos en android?
  • ¿Cuál es la mejor práctica para desbloquear las funciones de la aplicación para el usuario en Android?
  • En caché JSON de webservice en android - patrón?
  • Selector de color de Android
  • Extraño error "java.io.IOException: EOF" en Android
  • ¿Cómo usar sockets UDP en android?
  • ¿Cómo encontrar la ruta a NDK?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.