2

目前我正在研究一个原生视频播放器项目,最初我尝试使用 ffmpeg 作为解码器并将字节返回给 java,然后我使用 View::onDraw 和 Canvas 来显示帧。不幸的是,这种方法的性能不好,所以我想知道除了传递给java之外,是否还有其他方法可以用来显示帧?

另外,除了显示帧之外,如何使用 C/C++ 和 NDK 播放声音?

谢谢。

4

1 回答 1

2

您可以使用 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

于 2012-07-02T08:09:40.423 回答