目前我正在研究原生视频播放器项目,最初我尝试使用ffmpeg作为解码器并将Byte返回给java,然后我使用View :: onDraw和Canvas来显示帧。不幸的是,这种方法的表现并不好,所以我想知道是否还有其他什么可以用来显示帧,然后传递给java?
另外,除了显示帧之外,如何使用带有NDK的C / C ++播放声音?
感谢。
答案 0 :(得分: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