我有一个使用本机活动的应用程序,因为它主要是 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 的媒体解码器/渲染器。