HarmonyOS鸿蒙Next中咨询avplayer时间监控

HarmonyOS鸿蒙Next中咨询avplayer时间监控 我打算设置循环歌曲中的一小段,分别截取了开始循环的时间点和结束循环的时间点,打算在监控时间的回调里,每当时间进度与结束循环的时间点一致时就调用seek回到开始循环的时间点。

现在卡在最后一步,我设置的这个条件好像一直是false,我截取的时间都是毫秒,没有任何修改,理论上来说应该是可以出现一个true才对的,有哪位大神知道原因?还是我漏掉了什么?


更多关于HarmonyOS鸿蒙Next中咨询avplayer时间监控的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

那你把时间打印出来看看,是不是中间会有相等的时候

更多关于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监听器和getCurrentTimegetDuration方法,可以在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

回到顶部