MediaCodec在实际设备上为getOutputImage返回null - 仿真器工作

时间:2018-02-24 18:46:40

标签: android mediacodec exoplayer

我正在尝试使用MediaCodec方法(使用的框架:Exoplayer)通过getOutputImage抓取视频图像。我没有使用SurfaceView,其他所有东西看起来都很好(this是实现)。在我的模拟器上,我得到了正确的图像。在我所有的真实设备上(OnePlus One搭载Android 7.1.1,Honor 8搭载Android 7.0,三星Galaxy Tab S搭载Android 6.0.1)我总是得到null作为Image。但视频确实可以播放,因为我可以听到声音。在SurfaceView上显示图像时,我所有的真实设备也能正常工作。

我慢慢发疯了。任何人都可以指出我可能做错的方向吗?或者我可能调试/测试任何方向以找出出错的地方?

1 个答案:

答案 0 :(得分:0)

我认为当您没有将自己的Surface传递给Exoplayer时,Exoplayer(v.7)在配置MediaCodec时使用MediaCodec DummySurface MediaCodecVideoRenderer换句话说,在使用Exoplayer时从MediaCodec中提取图像可能不是一个好主意,因为它实际上永远不会工作...... (但在Android 8上很奇怪)。