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

基于鸿蒙API10的RTSP播放器(二:视频切换实现)

目标:

  1. 设置一个播放下一个视频的按钮,通过改变url地址实现 ✔
  2. 设置一个视频播放底部轨道,轨道左侧固定为00:00,右侧为当前已经播放的时长差✖
  3. 设置音量调节按钮,再实现滑动增减音量发✖
// 这里为ArkTS代码,标记为ts只是为了上色好看。注意代码放置位置

// 1.播放位置状态变量,在结构体之外
let  locationIndex:number = 0 ;

// 2.设置url组,苹果测试地址,最快  

@State private playerURL: string = "http://devimages.apple.com/iphone/samples/bipbop/gear3/prog_index.m3u8";  
  
@State private playerURLs:string[] = [  
  // 苹果测试地址,3s  
  "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8",  
  // 苹果测试地址,1s  
 'http://devimages.apple.com/iphone/samples/bipbop/gear3/prog_index.m3u8',  
  // 苹果测试,4s  
  "http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8",  
  // BBC测试  
  "https://vs-dash-ww-rd-live.akamaized.net/pl/testcard2020/avc-mobile.m3u8",  
  // 苹果测试  
  "http://devimages.apple.com.edgekey.net/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8",  
  // 远程湖面监控  
  "rtsp://stream.strba.sk:1935/strba/VYHLAD_JAZERO.stream",  
  // BBC测试  
  "https://vs-dash-ww-rd-live.akamaized.net/pl/testcard2020/avc-mobile.m3u8",  
  // 海边沙滩监控  
  "rtsp://37.157.51.30/axis-media/media.amp",  
  // BBC测试  
  "https://vs-dash-ww-rd-live.akamaized.net/pl/testcard2020/avc-mobile.m3u8",  
  // 灯光闪烁监控  
  // "rtsp://77.110.228.219/axis-media/media.amp",  
  // BBC测试  
  "https://vs-dash-ww-rd-live.akamaized.net/pl/testcard2020/avc-mobile.m3u8",  
  // 观测站监控  
  "rtsp://196.21.92.82/axis-media/media.amp",  
]

//3.设置改变位置变量函数,通过改变url地址播放下一个视频  
nextPlayer() {  
  // 循环条件  
  if (locationIndex == this.playerURLs.length - 1) {  
    locationIndex = 0;  
  } else {  
    locationIndex++;  
  }  
  // 停止播放  
  mIjkMediaPlayer.stop();  
  mIjkMediaPlayer.reset();  
  this.playerURL = this.playerURLs[locationIndex]  
  this.play(this.playerURL);  
}

//4.在build()函数中通过按钮调用nextPlayer()方法
Button('Next')  
  .width('200px')  
  .onClick(() => {  
    this.nextPlayer();  
  })


http://www.kler.cn/news/303720.html

相关文章:

  • 微信小程序中事件触发机制及防抖节流
  • 【生日视频制作】公司前台接待形象墙字写字楼办公室写字AE模板修改文字软件一键生成器教程特效素材【AE模板】
  • 获取zabbix API 监控数据shell脚本,自动日常巡检服务器信息、并发送指定群组
  • 【JavaScript】JS代码执行流程
  • [C#学习笔记]接口的特性与用法
  • OceanBase 基于企业版本OAT安装与OMS安装与InfluxDB的集成
  • Spring Boot 框架下的房屋租赁业务创新
  • react 组件化开发_生命周期_表单处理
  • 【python2C】1. 输入 (补)
  • Ai产品经理
  • 网络搜索记录会被监控吗?一文带你看懂【打工人必看】
  • 新书速览|循序渐进Vue.js 3.x前端开发实践
  • 上海证券交易所特定参与者接口规格说明书(托管银行卷)1.35 版
  • GitHub Copilot Issue in Visual Studio Code “Status Ready (disabled)“
  • SpringBoot开发——整合Redis
  • 鸿蒙NEXT(API 12)【蓝牙设置】 网络开发
  • 基于SpringBoot+Vue+MySQL的笔记记录分享网站
  • “阡陌云旅”黄河九省文化旅游平台
  • solidity-19-fallback
  • LeetCode之二叉搜索树
  • uniapp登录页面( 适配:pc、小程序、h5)
  • Leetcode面试经典150题-349.两个数组的交集
  • 设计模式 -- 单例设计模式
  • 新能源汽车 BMS 学习笔记篇—BMS 基本定义及分类
  • Kubernetes+Minio+Velero:终极备份解决方案
  • 汽车无钥匙启动功能工作原理
  • 产学研合作赋能产业升级新动能
  • 【单片机仿真】基于51单片机的宠物喂食系统设计
  • 8个前端库-小且美
  • 【Qt】Qml界面中嵌入C++ Widget窗口