我正在使用 cocos2d-x 开发游戏,我想在其中播放视频。 该 Activity 有一个 OpenGL View ,我还在其上放置了额外的 VideoView 并将可见性设置为 INVISIBLE。
当我需要播放视频时,我只需隐藏 OpenGL View 并启用我的 VideoView。之后,我创建了 MediaPlayer,使用该 VideoView 的持有者调用 setDisplay 等,最终视频播放良好。视频结束后,我再次将可见性切换回来 - opengl 切换为 VISIBLE,videoview 切换为 INVISIBLE。
但是,问题是当我第二次尝试播放视频时,它并没有出现,但是正在播放视频中的声音。
可见性有什么问题吗?
最佳答案
我刚刚修改了 ApiDemo 以查看它是否有效。我在这里发布了完整的代码:post无需使用单独的媒体播放器观看视频,我们可以设置视频并播放
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;
}
关于java - 在 Android 的 OpenGL View 之上播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9155400/