HarmonyOS鸿蒙Next中咨询avplayer时间监控
HarmonyOS鸿蒙Next中咨询avplayer时间监控 我打算设置循环歌曲中的一小段,分别截取了开始循环的时间点和结束循环的时间点,打算在监控时间的回调里,每当时间进度与结束循环的时间点一致时就调用seek回到开始循环的时间点。
现在卡在最后一步,我设置的这个条件好像一直是false,我截取的时间都是毫秒,没有任何修改,理论上来说应该是可以出现一个true才对的,有哪位大神知道原因?还是我漏掉了什么?
更多关于HarmonyOS鸿蒙Next中咨询avplayer时间监控的实战教程也可以访问 https://www.itying.com/category-93-b0.html
那你把时间打印出来看看,是不是中间会有相等的时候
更多关于HarmonyOS鸿蒙Next中咨询avplayer时间监控的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
timeUpdate是固定间隔回调的,不可能有===的时候吧
嗯嗯,应该是之前想错了,
在HarmonyOS鸿蒙Next中,AVPlayer
是用于播放音视频的组件。要监控播放时间,可以使用AVPlayer
提供的回调接口。具体来说,可以通过onTimeUpdate
监听器来获取当前播放时间。onTimeUpdate
会在播放过程中定期触发,返回当前播放的时间戳。
此外,AVPlayer
还提供了getCurrentTime
方法,可以主动获取当前的播放时间。这个方法返回一个Promise
,解析后得到当前的时间戳。
如果需要监控播放进度,可以结合getDuration
方法获取视频总时长,然后计算播放进度百分比。getDuration
同样返回一个Promise
,解析后得到视频的总时长。
总结来说,通过onTimeUpdate
监听器和getCurrentTime
、getDuration
方法,可以在HarmonyOS鸿蒙Next中实现对AVPlayer
播放时间的监控。
在HarmonyOS鸿蒙Next中,监控AVPlayer的播放时间可以通过setOnTimeUpdateListener
方法实现。该方法允许你设置一个监听器,当播放时间发生变化时触发回调。你可以在回调中获取当前播放时间并执行相关操作,例如更新UI或记录日志。示例代码如下:
avPlayer.setOnTimeUpdateListener(new AVPlayer.OnTimeUpdateListener() {
@Override
public void onTimeUpdate(AVPlayer avPlayer, long currentTime) {
// 处理当前播放时间
Log.i("AVPlayer", "Current Time: " + currentTime);
}
});
确保在使用前正确初始化和配置AVPlayer
。