目前我正在研究一个原生视频播放器项目,最初我尝试使用ffmpeg作为解码器并将Byte返回到java,然后我使用View::onDraw和Canvas来显示帧。不幸的是,这个方法的性能不好,所以我想知道除了传递给java之外,是否还有其他方法可以用来显示帧?
此外,除了显示帧之外,如何使用 C/C++ 和 NDK 播放声音?
谢谢。
最佳答案
您可以使用 ffmpeg http://ffmpeg.org和/或 libtheora http://www.theora.org解码视频帧。然后只需使用渲染到纹理通过 OpenGL ES 2 显示结果。引用http://www.gamedev.net/topic/570295-opengl-and-xvidtheoraanything了解详情。
对于音频,您可以使用 OpenAL。这是 Android 端口:http://pielot.org/2010/12/14/openal-on-android
关于Android:制作原生视频播放器时应该使用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11207101/