怎么知道抖音短视频的播放是否完成呀

怎么知道抖音短视频的播放是否完成呀

滑动进度条, 然后开启个新的线程, 获取弹出的时间
function slideProgressBar() {
// 找到进度条
var progressBar = desc("进度条").visibleToUser().findOne(1000);
if (progressBar) {
// 获取进度条的边界
var bounds = progressBar.bounds();
// 计算滑动起点和终点
var startX = bounds.centerX() / 3;
var startY = bounds.centerY();
var endX = bounds.centerX() * 1.5;
var endY = bounds.centerY();

    // 开始一个线程来获取播放时间
    threads.start(function() {
        while (true) {
            // 查找播放时间控件
            var playbackTimes = textMatches(/\d{1,2}:\d{2}/).find();
            
            if (playbackTimes.length >= 2) {
                // 提取时间文本
                var time0 = playbackTimes[0].text();
                var time1 = playbackTimes[1].text();

                // 使用封装的比较函数
                var largerTime = compareTimes(time0, time1);

                if (largerTime !== null) {
                    console.log("播放时间0: " + time0);
                    console.log("播放时间1: " + time1);
                    console.log("较大的播放时间为: " + largerTime);
                    break; // 找到时间后退出循环
                }
            }

            // 等待一段时间后再检查
            sleep(100);
        }
    });

    // 在主线程中滑动进度条
    gesture(1000, [startX, startY], [endX, endY]);
    
    console.log("进度条滑动完成");
} else {
    console.log("未找到进度条控件");
}

}
// 比较两个时间字符串,返回较大的时间
function compareTimes(time1, time2) {
var timeToSeconds = function (timeText) {
if (!timeText) {
return -1; // 如果时间文本为空,返回-1表示无效时间
}
var [minutes, seconds] = timeText.split(":").map(Number);
return minutes * 60 + seconds;
};

var time1InSeconds = timeToSeconds(time1);
var time2InSeconds = timeToSeconds(time2);

if (time1InSeconds === -1 && time2InSeconds === -1) {
    return null; // 如果两个时间都是无效的,返回null
} else if (time1InSeconds === -1) {
    return time2; // 如果time1无效,返回time2
} else if (time2InSeconds === -1) {
    return time1; // 如果time2无效,返回time1
} else {
    return time1InSeconds > time2InSeconds ? time1 : time2;
}

}

// 调用函数滑动进度条
slideProgressBar();