java - 在 Android 的 OpenGL View 之上播放视频

标签 java android c++ cocos2d-x

我正在使用 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/

相关文章:

java - 谁能告诉我如何消除这个异常

java - 了解SD卡路径Android的最佳方法

c++ - `myLibrary!__scrt_stub_for_is_c_termination_complete+0x12345`是什么符号

java - 通过设置 BasicDataSource 属性 testOnBorrow=false 来提高 web app/rest-api 性能,有风险吗?

java - JLabel:异步加载 HTML 图像

android - 在android中使用带有DI的MVVM时,是否有任何特定方法可以将LiveData转换为ArrayList而不使用存储库中的观察者

c++ - 字体轮廓贝塞尔曲线样条轮廓和 DirectWrite

c++ - 有没有办法通过使用指针来解决范围问题?

java - 在 JTable 中显示 Unicode 字符串

android - Android 的巨大 UDP 延迟/滞后