JS实现完美监听Audio播放完毕的方法大揭秘!
在JavaScript中,你可以使用`addEventListener`方法来监听音频播放完毕。以下是一个简单的例子: ```javascript var audio = new Audio('path_to_your_audio_file.mp3'); // 创建Audio对象 audio.addEventListener('ended', function() { console.log('Audio has ended.'); // 当音频播放完毕时,这段代码会被执行 }, false); ``` 在这个例子中,我们创建了一个新的Audio对象,并添加了一个事件监听器,当音频的"ended"事件(即播放完毕)发生时,会执行回调函数。`false`参数是可选的,表示这个事件是捕获阶段的,但大部分情况下默认值`useCapture`为`false`,即在冒泡阶段触发。 如果你的音频是在`play()`方法后播放的,记得在播放后添加事件监听器: ```javascript audio.play(); audio.addEventListener('ended', function() { // ... }, false); ``` 如果音频是循环播放的,你可能需要使用`oncanplaythrough`事件,因为有些浏览器在音频缓冲完成后才会触发`ended`事件: ```javascript audio.addEventListener('canplaythrough', function() { audio.currentTime = 0; // 重置音频到开始 audio.play(); }, false); audio.addEventListener('ended', function() { // ... }, false); ``` 这样,每次音频播放完毕后都会立即开始播放。 ######[AI写代码神器 | 292点数解答 | 2024-03-19 23:08:12]
- Java 实现计算机硬件模拟:从 PCI 设备到主板、计算机的启动与关闭(字节豆包 | 716点数解答 | 2024-12-08 23:38:38)345
- Java 代码:模拟计算机主板启动与关闭 PCI 设备全流程(字节豆包 | 637点数解答 | 2024-12-09 08:31:54)311
- Java 实战:Vehicle 类与 User 类实现机动车速度功率控制( | 968点数解答 | 2024-03-12 11:26:25)560
- "Debugging 'Cannot Read Properties of Null (reading \'userid\')' Error in Vue Components: Steps and Example"(讯飞星火 | 614点数解答 | 2024-11-28 14:31:57)286
- HTML+jQuery 实现列表元素悬停动画效果:代码详解与注意事项(字节豆包 | 475点数解答 | 2024-12-19 14:58:05)386
- HTML+jQuery:打造动态导航栏动画效果及注意事项(字节豆包 | 495点数解答 | 2024-12-19 14:58:06)332
- HTML+jQuery:打造带动态交互效果的商品展示页面(讯飞星火 | 497点数解答 | 2024-12-19 14:58:18)335
- HTML与jQuery结合:实现商品列表交互动画的首页代码解析(讯飞星火 | 497点数解答 | 2024-12-19 14:58:20)357
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)281
- Three.js实现可360°观察正交长方体:代码分析、优化与注意要点(DeepSeek | 466点数解答 | 2025-03-01 11:35:41)263
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)366
- Vue.js 与 Matter.js 碰撞:轻松实现物理模拟全攻略 (讯飞星火 | 522点数解答 | 2024-05-29 22:26:06)447