0

我有一个使用本机活动的应用程序,因为它主要是 C++ 代码(跨平台)。

我还需要播放视频和音频,所以还有另一个使用 MediaPlayer 播放视频和/或音频的 Activity。这与 Native Activity 结合使用,在 OpenGL 渲染的应用程序前播放视频。

MediaPlayer 活动基于 ApiDemos 示例中的活动,并且可以在大多数设备(Nexus 7/10、Galaxy S3/Tab2,甚至一些低成本设备,如 Fusion5)上正常工作。

但是在低成本的 Scroll Plus 7" 平板电脑上运行它 - 代码功能,但没有显示视频

音频播放,视频控件显示并且可用。

注意:我实际上已经能够破解代码以显示视频 - 尽管这不是解决方案,但它可能会帮助某人识别问题。

在我的本机代码中,Open Gl 渲染调用eglSwapBuffers,如果我将此行注释掉视频显示。(我在android_main里面循环完成渲染)

显然,这意味着我需要在后台进行的 OpenGL 渲染停止工作,所以我无法以这种方式修复它。

设备: Scroll Plus 7" TABLET by Storage Options Jelly Bean 4.1 来自 LogCat 我相信它正在运行基于 CedarX 的媒体解码器/渲染器。

4

1 回答 1

0

在这个问题上待了 4 天后,我终于发现视频是在我的 OpenGL 后面绘制的。为什么只在这个设备上我不知道。视频活动的所有其他方面(控件等)都在它应该在的前面。

eglSwapBuffers 是一个红鲱鱼,在这种情况下,我没有在屏幕上绘制任何东西。

于 2013-08-16T09:59:09.790 回答