基于鸿蒙API10的RTSP播放器(五:拖动底部视频滑轨实现跳转)

拖动前播放位置:

拖动后播放位置:

  1. 在Slider组件中,添加onChange方法进行监听,当视频轨道拖放结束时,触发this.seekTo()函数,其中seekTo函数需要传递一个视频已播放时长作为参数
TS 复制代码
Slider({  
  value: this.progressValue,  
  min: 0,  
  max: 100,  
  step: 1,  
  style: SliderStyle.OutSet  
})  
  .height('20px')  
  .width('650px')  
  .blockColor($r('app.color.slider_block_color'))  
  .trackColor($r('app.color.slider_track_color'))  
  .selectedColor($r('app.color.slider_selected_color'))  
  .showSteps(true)  
  .showTips(true)  
.enabled(this.sliderEnable)  
.onChange((value: number, mode: SliderChangeMode) => {  
  LogUtils.getInstance().LOGI("plumcarefree slider-->onChangeStart:" + value);  
  // 状态值为2时,标志手势离开滑块  
  if (mode == SliderChangeMode.End) {  
    // 获取滑块位置  
    let seekValue = value * (mIjkMediaPlayer.getDuration() / 100);  
    // 设置视频位置  
    this.seekTo(seekValue.toString());  
  }  
  LogUtils.getInstance().LOGI("plumcarefree slider-->onChangestartEnd:" + value);  
})
  1. 编写seekTo()函数,可以按照自己需求添加一些额外的逻辑。核心函数是继续调用底层的seekTo()函数
TS 复制代码
seekTo(value: string) {  
  // if (mIjkMediaPlayer.isPlaying()) {  
  //   mIjkMediaPlayer.pause();  // 先暂停视频  
  // }  
  mIjkMediaPlayer.seekTo(value);  
  
  // 延迟执行reset和seek操作,确保资源释放完毕  
  // setTimeout(() => {  
  //   mIjkMediaPlayer.stop();  //   mIjkMediaPlayer.reset();  //   // 设置新位置并重新播放  
  //   mIjkMediaPlayer.seekTo(value);  
  //   mIjkMediaPlayer.start();  // }, 100);
  }
相关推荐
小镇敲码人8 小时前
探索华为CANN框架中的Ops-NN仓库
华为·cann·ops-nn
lbb 小魔仙9 小时前
【HarmonyOS实战】OpenHarmony + RN:自定义 useValidator 表单验证
华为·harmonyos
sweetone10 小时前
LINN莲CLASSIK桌面音响微修
经验分享·音视频
仓颉编程语言11 小时前
鸿蒙仓颉编程语言挑战赛二等奖作品:TaskGenie 打造基于仓颉语言的智能办公“任务中枢”
华为·鸿蒙·仓颉编程语言
Echo_NGC223713 小时前
【FFmpeg 使用指南】Part 3:码率控制策略与质量评估体系
人工智能·ffmpeg·视频·码率
小哥Mark13 小时前
Flutter开发鸿蒙年味 + 实用实战应用|绿色烟花:电子烟花 + 手持烟花
flutter·华为·harmonyos
小镇敲码人13 小时前
剖析CANN框架中Samples仓库:从示例到实战的AI开发指南
c++·人工智能·python·华为·acl·cann
晚霞的不甘14 小时前
CANN 编译器深度解析:UB、L1 与 Global Memory 的协同调度机制
java·后端·spring·架构·音视频
盐焗西兰花15 小时前
鸿蒙学习实战之路-Reader Kit自定义字体最佳实践
学习·华为·harmonyos
_waylau15 小时前
鸿蒙架构师修炼之道-架构师的职责是什么?
开发语言·华为·harmonyos·鸿蒙