当前位置: 首页 > news >正文

基于鸿蒙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);}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 深度解析 MintRich 独特的价格曲线机制玩法
  • 【宠物小精灵之收服(待更新)】
  • 【JavaWeb】利用IDEA2024+tomcat10配置web6.0版本搭建JavaWeb开发项目
  • 安全建设当中的冷门知识
  • 简单题27 - 移除元素(Java)20240917
  • 如何在win10Docker安装Mysql数据库?
  • JavaSE - 面向对象编程03
  • Qt | AI+Qt6.5.3+ubuntu20.04+FFmpeg实现音视频编解码(播放一个中秋节快乐视频为例)
  • 安全API
  • LeetCode 815.公交路线(BFS广搜 + 建图)(中秋快乐啊)
  • 【AcWing】前缀和与差分(一维 + 二维)
  • 轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数
  • [网络]TCP/IP协议 之 网络层IP协议(3)
  • react crash course 2024 (1)理论概念
  • reader-lm:小模型 html转markdown
  • 网络传输文件的问题
  • angular2 简述
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • JavaScript标准库系列——Math对象和Date对象(二)
  • mysql中InnoDB引擎中页的概念
  • uni-app项目数字滚动
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 浏览器缓存机制分析
  • 我与Jetbrains的这些年
  • 阿里云重庆大学大数据训练营落地分享
  • #include<初见C语言之指针(5)>
  • #大学#套接字
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (算法二)滑动窗口
  • (图)IntelliTrace Tools 跟踪云端程序
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .libPaths()设置包加载目录
  • .Net Core 笔试1
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 直连SAP HANA数据库
  • .NET单元测试
  • .NET和.COM和.CN域名区别
  • .NET之C#编程:懒汉模式的终结,单例模式的正确打开方式
  • /etc/fstab和/etc/mtab的区别
  • ?
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • []Telit UC864E 拨号上网
  • [7] CUDA之常量内存与纹理内存
  • [AIGC] Kong:一个强大的 API 网关和服务平台
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [AutoSar]BSW_Memory_Stack_003 NVM与APP的显式和隐式同步
  • [AutoSar]状态管理(五)Dcm与BswM、EcuM的复位实现