MediaExtractor的seekTo方法精确定位到指定帧

Android的MediaExtractor seekTo方法通常只能精确到关键帧。通过设置MediaCodec的KEY_I_FRAME_INTERVAL为1确保每秒一个关键帧,但为了解决精确到任意帧的问题,将该值设为0使每帧都是关键帧。实测手机内置相机录制的视频也采用此策略。尽管可能增加文件大小,但在保持定位精度的同时,文件大小与关键帧间隔不成线性关系,因此这种方法是可行的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


MediaExtractor有一个方法如下   http://developer.android.com/intl/es/reference/android/media/MediaExtractor.html

public void seekTo (long timeUs, int mode)

All selected tracks seek near the requested time according to the specified mode.


timeUs是要seek的时间戳,mode是seek的模式,可以是SEEK_TO_PREVIOUS_SYNC, SEEK_TO_CLOSEST_SYNC, SEEK_TO_NEXT_SYNC,分别是seek指定帧的上一帧,最近帧和下一帧。

此方法可用于视频播放时动态定位播放帧,用于动态改变视频播放进度,比如使用seekBar来跟踪视频播放进度,同时可拖动来动态改变播放进度。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值