gpt4 book ai didi

android - 退出 MediaPlayer 后 OpenGL 上下文被销毁

转载 作者:太空狗 更新时间:2023-10-29 14:29:51 28 4
gpt4 key购买 nike

我们有一个增强现实应用程序,当指向特定标记时,它会显示视频或 3D 模型。这工作正常,但是一旦我们通过后退按钮退出 MediaPlayer Activity ,OpenGL 上下文似乎就被破坏了。该应用程序然后重新启动并需要重新加载所有 Assets ,包括 3D 模型,这会导致大约 10-15 秒的延迟,这是我们想要避免的。我已经阅读了一些关于 setPreserveEGLContextOnPause(true) 的内容并将其放入我们的 GLSurfaceView(我们有一个 3.x 平板电脑),但它似乎没有做任何事情(我是否需要实现其他东西来让它工作?我几乎没有找到关于它的可用文档)。

我不确定我们应用程序中的问题可能出在哪里,我想我们的 GLSurface 在某个地方被破坏了,但我们没有注意到它。

我们退出 MediaPlayer 的代码是这样的:

public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
this.finish();

Intent intent = new Intent(MediaPlayerActivity.this, OpenGLActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
}
return super.onKeyDown(keyCode, event);
}

有什么提示我们可以保留 OpenGL 上下文,或者在不破坏我们的主要 Activity 的情况下退出 MediaPlayer?

最佳答案

为了解决这个问题,我们将 MediaPlayer 放在 SurfaceView 层上,它将显示在我们的 OpenGL 内容之上。根据标记,我们只显示或隐藏图层并防止切换出上下文。

关于android - 退出 MediaPlayer 后 OpenGL 上下文被销毁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064321/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com