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

目标:

  1. 设置一个播放下一个视频的按钮,通过改变url地址实现 ✔
  2. 设置一个视频播放底部轨道,轨道左侧固定为00:00,右侧为当前已经播放的时长差✖
  3. 设置音量调节按钮,再实现滑动增减音量发✖
ts 复制代码
// 这里为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();  
  })
相关推荐
math_hongfan6 分钟前
鸿蒙离线数据缓存高级架构:弱网预加载/离线数据优先级/同步冲突解决/上线后数据合并策略
学习·缓存·华为·架构·harmonyos·鸿蒙
starzy19901 小时前
Soloop 智能视频创作全流程实战指南
数据库·microsoft·音视频
xingyuzhisuan2 小时前
星宇智算 AI 视频工作台・图生视频(首尾帧)・Vidu:双模型可控动态过渡生成应用
人工智能·计算机视觉·音视频
zandy10113 小时前
全价位数字调音台横向解析:覆盖国产与进口机型,按预算、应用场景对照选型指南
音视频·数字调音台
AI服务老曹3 小时前
NVIDIA GPU部署AI视频分析常见问题和排查清单
人工智能·音视频
math_hongfan4 小时前
鸿蒙企业级数据存储高级架构:从读写分离到冷热数据分层/归档策略/数据生命周期管理最佳实践
人工智能·学习·华为·架构·harmonyos·鸿蒙
math_hongfan6 小时前
鸿蒙存储异常高级排查:文件损坏检测/数据恢复/读写失败重试/磁盘空间预警系统性根治方案
学习·华为·harmonyos·鸿蒙
lilian2336 小时前
Harmony os 技术实战|拼豆制图10:把取消、解析失败和保存失败写成可恢复状态机
java·javascript·华为·harmonyos
2501_919749037 小时前
华为鸿蒙美缝剂实用APP—小羊美缝
华为·harmonyos
2501_919749037 小时前
华为鸿蒙积攒年度高光APP—小羊高光
华为·harmonyos