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

拖动前播放位置:
在这里插入图片描述

拖动后播放位置:

在这里插入图片描述

  1. 在Slider组件中,添加onChange方法进行监听,当视频轨道拖放结束时,触发this.seekTo()函数,其中seekTo函数需要传递一个视频已播放时长作为参数
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()函数
seekTo(value: string) {  
  // if (mIjkMediaPlayer.isPlaying()) {  
  //   mIjkMediaPlayer.pause();  // 先暂停视频  
  // }  
  mIjkMediaPlayer.seekTo(value);  
  
  // 延迟执行reset和seek操作,确保资源释放完毕  
  // setTimeout(() => {  
  //   mIjkMediaPlayer.stop();  //   mIjkMediaPlayer.reset();  //   // 设置新位置并重新播放  
  //   mIjkMediaPlayer.seekTo(value);  
  //   mIjkMediaPlayer.start();  // }, 100);
  }
### 回答1: 要设计和实现一个基于HarmonyOS的视频播放器,需要以下软件支持: 1. 开发工具:使用HarmonyOS开发工具包(HDK)来开发和调试应用程序。HDK提供了一系列开发工具,如集成开发环境(IDE)、模拟器、调试工具等。 2. 视频解码器:要支持多种视频格式,需要使用能够解码多种视频格式的解码器。一些流行的视频解码器包括FFmpeg、GStreamer等。 3. 音频解码器:除了视频解码器外,还需要支持多种音频格式。一些流行的音频解码器包括FFmpeg、GStreamer等。 4. 播放器框架:要实现一个完整的视频播放器,需要一个播放器框架。一些流行的播放器框架包括VLC、MPV、ExoPlayer等。 5. 界面设计工具:设计和实现用户界面需要使用界面设计工具。一些流行的界面设计工具包括Sketch、Adobe XD、Figma等。 6. 数据库:要实现一些基本功能,如播放列表、播放历史等,需要一个数据库来存储数据。一些流行的数据库包括SQLite、MySQL、MongoDB等。 7. 网络库:要支持在线播放,需要使用网络库来获取网络数据。一些流行的网络库包括OkHttp、Retrofit等。 8. 测试工具:为确保应用程序的质量,需要使用测试工具进行测试。一些流行的测试工具包括JUnit、Robotium、Appium等。 以上是基于HarmonyOS的视频播放器所需要的软件支持,当然具体的软件支持还需要根据实际情况而定。 ### 回答2: 设计和实现基于HarmonyOS的视频播放器需要以下支持软件: 1. HarmonyOS SDK:该软件提供了视频播放所需的开发工具和接口,包括音视频解码、音频处理、画面渲染等功能的API,以便开发人员可以根据实际需求进行自定义开发。 2. 多媒体框架:视频播放器需要一个强大的媒体框架来管理视频文件的导入、解码和播放等操作。多媒体框架能够支持多种视频格式的解码,在播放过程中实现流畅的画面渲染和音频输出。 3. 网络支持:视频播放器需要能够通过网络获取视频资源,因此需要支持网络协议,如HTTP、RTSP等,以便从远程服务器或者云存储中下载或者在线播放视频。 4. 用户界面:对于视频播放器来说,用户界面是非常重要的,需要一个直观、易用的界面设计来提供播放、暂停、快进、调节音量等常用操作,以及支持播放列表、播放历史等功能。 5. 媒体管理:视频播放器需要能够管理用户本地视频库中的视频文件,包括扫描本地文件、获取视频信息和元数据、生成缩略图、提供搜索和排序功能等。 6. 多媒体控制:视频播放器需要支持多种媒体控制方式,如通过按键、手势、远程控制等方式来控制播放器的操作,以提供更加便捷的用户体验。 7. 视频扩展功能:为了提供更广泛的功能,视频播放器还可以支持一些扩展功能,如字幕显示、屏幕投射、画中画、VR播放等,以满足用户的多样化需求。 综上所述,设计和实现基于HarmonyOS的视频播放器需要以上提到的关键支持软件,以便提供功能丰富、稳定流畅的视频播放体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值