显示源文件过去修订反向链接回到顶部 Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit最近更改Send via e-Mail打印Permalink × 目录 MediaCodec 解码器状态 MediaCodec Android 平台提供的硬解统一接口,接口内部实现采用异步消息制 官方文档:MediaCodec 相关源码:https://android.googlesource.com/platform/frameworks/base/+/master/media, https://android.googlesource.com/platform/frameworks/av/+/master/media/ Android平台MediaCodec避坑指北 解码器状态 解码器状态图: 解码器存有缓存,输入帧与输出帧并不是一一对应对应输出,中间会差个几帧,只有收到EOS才会把缓冲帧全部输出。 如果要实现播放器暂停时,调整滚动条的一帧画面显示预览,得如下操作: flush, 清除之前的缓冲帧 input, 输入当前的一帧关键帧 input, 输入EOS 流结束标志 接收 output 画面,直到收到 EOS flush, 让解码器从 EOS 状态转为 Flushed 状态 input, 输入与第二步同样的关键帧,因为播放器此时从暂停转为继续播放的话,会省略之前已发送的帧。如果解码器不先输入关键帧的话,后续的画面会花屏一阵子。 public/it/mediacodec.txt 最后更改: 2022/08/03 09:00由 oakfire