我一直在尝试从 Android Emulator 捕获屏幕并将其记录到 .mp4 文件中。我采用了创建虚拟显示器并将帧路由到编码器、多路复用视频通道并写入外部存储的标准方法。但是,输出的 .mp4 文件在播放时只是一个空白屏幕。在设备上运行时,相同的代码可以工作。
一个观察结果是BufferInfo.size
fromonOutputBufferAvailable()
始终具有恒定值 13 或 2718,这清楚地表明MediaCodec
编码器有问题。配置编码器时需要更改一些参数吗?
另一个观察来自 Logcat,它告诉我SoftAVCEncoder
在模拟器中运行时使用了 a,这有点表明使用了一些软件编码,但仍然不确定为什么这不起作用。