已关闭
新增播放进度与精准 Seek,补充英文 README 和测试文档 #10480
kr13创建于 8月19日关闭于 8月19日
openharmony_ci
8月19日 评论:
8月19日 评论:
感谢提交Issue!关于Issue的交互操作,请访问OpenHarmony社区支持命令清单。如果有问题,请联系 [@jiangwensai](https://gitcode.com/jiangwensai) 。如果需要调整订阅PR、Issue的变更状态,请访问链接。
Thanks for submitting the issue. For more commands, please visit OpenHarmony Command List. If you have any questions, please refer to committer gitcode for help. If you need to change the subscription of a Pull Request or Issue, please visit the link.


8月19日 添加了label:waiting_for_assign
8月19日 关闭了 issue
8月19日 issue状态由 待办的 改变为 已完成
一、背景
此前播放器不支持 UI 播放进度展示和底层 Seek 联动,无法通过进度条拖动跳转到指定播放位置。本次新增完整的播放进度和精准 Seek 能力。
二、修改内容
UI 新增播放进度条、当前位置和媒体总时长显示。
增加进度条拖动预览能力:
使用独立文件描述符获取缩略图。
通过 AVImageGenerator.fetchFrameByTime() 生成目标位置预览画面。
对缩略图请求进行节流,避免连续拖动时重复创建请求。
新增结构化 seekTo(positionUs) NAPI 接口及 SEEKING 播放状态。
新增 Native 播放器 Seek 生命周期:
暂停音频输出。
停止并 join 原有音视频工作线程。
释放旧的 AudioRenderer、Decoder 和回调上下文。
跳转 Demuxer 到目标时间之前最近的同步帧。
重建并启动音视频解码链路。
新增精准 Seek 的预滚处理:
同步帧到目标时间之间的视频帧只解码,不送显、不 Dump。
BufferMode 下目标时间之前的视频帧不拷贝到 NativeWindow。
目标时间之前的音频 PCM Buffer 直接丢弃。
目标位于 PCM Buffer 中间时,按采样率、声道数和 S16LE 采样帧裁剪音频数据。
补充 Seek 失败、Stop、自然结束和资源释放之间的状态衔接。
完善音频输出 Buffer 的偏移、容量、大小和 PCM 帧对齐检查。
优化 SYNC/ASYNC 音视频输出在 Seek 后的重新启动和状态恢复。
新增英文版 README.md,补充 UI、页面跳转、解封装、音视频编解码、封装、图形送显、HDR Vivid、音画同步、智能流畅、精准 Seek、相机录制和资源生命周期说明。
更新中文 README 的英文文档跳转和目录结构。
更新手工测试文档,增加播放进度、缩略图预览、精准 Seek、长 GOP 非关键帧跳转等测试用例。
更新测试结果,全部测试用例执行通过。