Android MediaCodec使用vp8格式进行编码和解码

时间:2015-02-27 13:18:04

标签: android surfaceview mediacodec vp8

我想开发一个应用程序,它将有2个按钮和SurfaceView(实际上一个类扩展了SurfaceView实现了SurfaceHolder.Callback)。

当用户点击button1 - 使用ScreenCapture时,我将获得一个图像并使用mediacodec,我将执行vp8编码并在bytebuffer中保存输出。(我不保存在文件位置)

当用户点击button2时 - 我需要在SurfaceView上显示捕获的bytebuffer输出。

我试过

MediaCodec decoder = MediaCodec.createDecoderByType(“video / x-vnd.on2.vp8”); decoder.dequeueOutputBuffer(mBufferInfo,DEFAULT_TIMEOUT_US);

.....

但无法更新surfaceview。

如何使用bytebuffer数据更新surfaceview?

1 个答案:

答案 0 :(得分:0)

我得到了答案...... mMediaCOdec.releaseOutputBuffer(index,true)... - 这里我将render设置为false。如果将渲染值设置为true,那么我可以绘制或设置捕获的图像。 使用releaseOutputBuffer(int index,long renderTimestampNs) - 我们可以渲染图像。但仅在API级别21中受支持。 感谢..