HarmonyOS鸿蒙Next中avplayer如何设置播放进度和单曲循环
HarmonyOS鸿蒙Next中avplayer如何设置播放进度和单曲循环 看过文档和论坛的帖子,但仍然不理解如何设置播放进度和单曲循环。
一、播放进度
目前知道 on('timeUpdate')
可以监听资源播放当前时间,但不知道如何将这个方法返回的时间拿出来放到显示的组件中,同时也不清楚这个监听放在哪里。
durationUpdate
这个时长也是如此,不知道该如何拿出来。
看论坛帖子里有人放在 aboutToAppear
里,但我尝试了下不行,不知道问题在哪。
二、单曲循环
看文档和论坛帖子,说是在 completed
状态时用这个 this.avPlayer.seek(0)
,但设置后仍然不行,播放完后日志可以打印到‘播放完毕那’,但播放器不会继续播放,不清楚问题出在哪里。
希望有大佬可以指点下,希望详细一些,谢谢!
更多关于HarmonyOS鸿蒙Next中avplayer如何设置播放进度和单曲循环的实战教程也可以访问 https://www.itying.com/category-93-b0.html
loop是在这些状态下设置的吗
更多关于HarmonyOS鸿蒙Next中avplayer如何设置播放进度和单曲循环的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
标题
这是段落文本。
这是另一段落文本。
在播放器结束状态触发的时候重置一下播放器就可以重播了,this.avPlayer.reset();
官方codelabs中的VideoPlayer中用的就是这个方法loop的。
好的,我再研究研究,感谢!
希望HarmonyOS能加强与其他品牌设备的兼容性,让更多人受益。
可以看着一文章
大佬,是有文章链接没附上吗?
在HarmonyOS鸿蒙Next中,使用AVPlayer
设置播放进度和单曲循环可以通过以下方式实现:
-
设置播放进度:
使用AVPlayer
的seekTo
方法可以设置播放进度。该方法接受一个时间参数,单位为毫秒。例如,将播放进度设置为10秒:avPlayer.seekTo(10000, AVPlayer.SeekMode.Accurate);
SeekMode
可选Accurate
(精准定位)或Fast
(快速定位)。 -
设置单曲循环:
通过设置AVPlayer
的loop
属性为true
,可以实现单曲循环播放:avPlayer.loop = true;
-
完整示例:
let avPlayer = new AVPlayer(); avPlayer.src = 'path_to_media_file'; avPlayer.loop = true; // 设置单曲循环 avPlayer.seekTo(10000, AVPlayer.SeekMode.Accurate); // 设置播放进度为10秒 avPlayer.play();
通过上述方法,可以在HarmonyOS鸿蒙Next中实现播放进度设置和单曲循环功能。
在HarmonyOS鸿蒙Next中,使用AVPlayer
设置播放进度和单曲循环的方法如下:
-
设置播放进度:通过
AVPlayer
的seekTo
方法,传入目标时间(毫秒)即可。例如:avPlayer.seekTo(5000); // 跳转到5秒处
-
设置单曲循环:通过
AVPlayer
的setLooping
方法,传入true
即可。例如:avPlayer.setLooping(true); // 开启单曲循环
确保在调用这些方法前,AVPlayer
已正确初始化并准备好播放。