Reproducir vídeo en la parte superior de la vista de OpenGL en android

Estoy desarrollando un juego usando cocos2d-x y quiero reproducir video en él. La actividad tiene una vista de OpenGL y también poner VideoView adicional encima de él y fijar visibilidad a INVISIBLE.

Cuando necesito reproducir video, sólo ocultar la vista de OpenGL y activar mi VideoView. Después de que crear MediaPlayer, llamada setDisplay con el titular de que VideoView, etc y, finalmente, el vídeo juega bien. Cuando termine el video, vuelvo a cambiar las visibilidades – opengl a VISIBLE y videoview a INVISIBLE.

Sin embargo, el problema es que cuando intento reproducir video por segunda vez, simplemente no aparece, sin embargo, el sonido del video se está reproduciendo.

¿Hay alguna captura con visibilidades?

Acabo de modificar el ApiDemo para ver si funciona. Tengo blog el código completo aquí: poste sin usar reproductor de medios separado para la vista de vídeo podemos configurar el video y jugar

mVideoView.setVideoURI(data.getData()); mVideoView.setVisibility(View.VISIBLE); mVideoView.start(); //I could add touch listener in onCreate mGLSurfaceView.setOnTouchListener(...); //touch event will go all the way down to GLSurfaceView //Here i could chnage the video view position @Override public boolean onTouch(View view, MotionEvent motionEvent) { mVideoView.setTranslationX(motionEvent.getX()); mVideoView.setTranslationY(motionEvent.getY()); return true; } 

Necesitará una vista de superficie para reproducir vídeo al utilizar la clase MediaPlayer de android.

Para reproducir video por encima de GLSurfaceView, cree un cuadro de diálogo personalizado de Android que contenga una vista de superficie y reproduzca el vídeo en ese.

Puede hacerlo añadiendo dinámicamente la vista de vídeo en la superficie de glview. En primer lugar, cree una vista principal (cualquier diseño), añada vista de vídeo en la misma vista principal y, a continuación, agregue esta vista principal en la vista de la superficie gl. He hecho esto antes y estaba funcionando para mí. para tu referencia :

  // first set the content view as your glview with your params. setContentView(mGLView, gl_params); mGLView.setZOrderMediaOverlay(false); // add a parent view for video view. rl is relative layout addContentView(rl, rl_params); // now add the video view inside this parent view. rl.addview(video_view, video_view_params) 
  • Cómo seleccionar varios archivos en android
  • ¿Cómo puedo obtener una variable de otra clase en Java?
  • ¿Cómo obtener un notificador de aplicación PERMANENTE en la barra de estado?
  • Cómo utilizar parámetros con HttpPost
  • Android: Java: usando un recurso de cadena en un Toast
  • Cómo cambiar las pestañas de forma programática mediante buttonclick en Android
  • Serializar un POJO a JSON con GSON
  • Error de Android Studio v2.2.2 (27,17) no pudo resolver junit: junit4.12
  • Cadena aleatoria de la lista de matrices
  • Inicie sesión en facebook en android utilizando REST API
  • Android - Obtener pulsación de teclado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.