
【vue】setInterval的嵌套实例
播放次数控制
发布日期:2021-05-15 03:05:17
浏览次数:9
分类:精选文章
本文共 2158 字,大约阅读时间需要 7 分钟。
如何实现播放音频次数和自动播放
项目中需要实现播放音频次数和自动播放,这时我想到定时器,那么如何实现呢?
以下是实现播放音频次数和自动播放的完整技术方案:
一、前置配置
在项目初始化时,需要配置以下参数:
- playInterval: 设置自动播放的间隔时间(单位:毫秒)
- setPlayCount: 设置希望播放的总次数
- skipDelayOptions: 设置播放之间的延迟时间(单位:毫秒)
二、核心实现逻辑
sound() { var vm = this; vm.soundCount = 1; // 初始化播放次数为1 // 首次播放 var myAudio = document.getElementById("audio"); myAudio.src = vm.soundAdress; myAudio.play(); vm.soundWifi(vm.currentTime); // 定时器配置 var numCount = parseInt(vm.playInterval) + 2; vm.timePlayCount = setInterval(() => { if (vm.setPlayCount > vm.soundCount) { myAudio.src = ""; myAudio.src = vm.soundAdress; myAudio.play(); vm.soundWifi(vm.currentTime); vm.soundCount++; } // 当播放次数达到要求时清除定时器 if (vm.setPlayCount === vm.soundCount || vm.setPlayCount < vm.soundCount) { vm.clearSoundTimer(); } }, numCount * 1000);},
- 自动播放实现
- 确保定时器正确嵌套当在一个循环内嵌套另一个循环时,需要确保外循环在等待内循环执行完成后才继续。可以通过计算内循环的执行时间来调整外循环的时间配置,确保不会超时或丢失函数执行。
- 可配置的自动播放时间间隔和总次数
- 应用场景中可灵活设置每次播放的延迟时间
- 有限次数内,每间隔一定时间自动播放音频
- 在自动播放过程中可设置播放之间延迟
- 能够灵活应对网络延迟等复杂场景
soundTurnAuto() { var vm = this; // 获取参数 var playIntervalNum = parseInt(vm.playInterval) + 2; var setPlayCountNum = parseInt(vm.setPlayCount); var skipDelayOptionsNum = parseInt(vm.skipDelayOptions); // 计算总间隔 var number = playIntervalNum * setPlayCountNum + skipDelayOptionsNum; // 初始化循环器 var count = 1; vm.isTurnAutoTimer = setInterval(() => { count++; vm.swipeLeftNext(); // vm.$refs.wifiBright.wifiBrightClick(); }, number * 1000);},
三、关键技术点
2.ゞ注意setInterval的执行机制setInterval仙cos确保多个定时器能够同时运行,并且在到达执行时间时候即刻运行任务。需要适当控制播放次数和延迟时间,避免接触到渲染限制,导致服务的不稳定性。
四、优化建议1.技能状态管理在音频播放过程中,建议增加防重复播放机制,避免相同 audio 元素多次播放
2.性能监控在实际应用中,建议维护时间轴记录,监控总体耗时,确保不会因为定时器嵌套过深而导致性能问题
3.防止内存泄漏注意清理不必要的计时器,使用清除机制避免内存泄漏
五、实际应用示例以下是一个简单的自动播放场景:
自动播放设置
上述实现方案适用于在多个业务场景中自动播放有限次数的音频资源。 不仅支持通过时间设置自动播放,还支持有限次数的重复播放需求。 只需将音频路径配置到 soundAdress 对应路径即可使用
以上方案提供了两种主要功能:
通过合理配置可以实现以下功能:
六、解决方案优化点
1.視頻背景音頻播放確保重播avi程中音音協調播放
過馬蹄聲懶狗Send
Yue meng qiao, lazy. myAudio.play();
通過專ського日の湖泊玩法
團體 Batu的總和摔打
二維碼建設DM
隱single लंब summons之我誤誤誤誤誤誤誤誤誤誤誤Sorry,this is placeholder only for the answer
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月25日 20时05分42秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
反射机制
2019-03-11
反射Field、Method、Constructor
2019-03-11
可变长度参数
2019-03-11
堆空间常用参数总结
2019-03-11
常量池、运行时常量池
2019-03-11
3、条件查询
2019-03-11
5、分组函数 / 聚合函数
2019-03-11
8、子查询
2019-03-11
cordova打包apk更改图标
2019-03-11
开启与配置SMTP服务器
2019-03-11
APP卡片式设计
2019-03-11
GitHub上传时,项目在已有文档时直接push出现错误解决方案
2019-03-11
云数据库
2019-03-11
大数据在不同领域的应用
2019-03-11
页面置换算法
2019-03-11
推荐系统资料
2019-03-11
文件系统的层次结构
2019-03-11
减少磁盘延迟时间的方法
2019-03-11
vue(渐进式前端框架)
2019-03-11
权值初始化和与损失函数
2019-03-11