audio设置currentTime为0 时生效,向后设置无效
时间: 2024-03-08 17:47:25 浏览: 206
如果你设置`audio`标签的`currentTime`属性为0时生效,而向后设置无效,可能是因为该音频文件没有被完全加载。在某些情况下,当音频文件没有被完全加载时,设置`currentTime`属性会无效。你可以在`audio`标签上添加`loadedmetadata`事件监听器,确保音频文件已经被完全加载。同时,你还需要确保你在设置`currentTime`属性时,音频已经被完全加载。举个例子:
```html
<audio src="audio.mp3" id="myAudio"></audio>
<script>
const audio = document.getElementById('myAudio');
audio.addEventListener('loadedmetadata', () => {
audio.currentTime = 10; // 在该事件触发后才设置currentTime属性
});
audio.addEventListener('canplay', () => {
// 在canplay事件触发后,音频文件已经被完全加载
audio.currentTime = 30; // 在该事件触发后设置currentTime属性
});
</script>
```
上面的代码中,我们在`loadedmetadata`事件触发后设置`currentTime`属性为10,确保音频文件被完全加载。在`canplay`事件触发后,我们再次设置`currentTime`属性为30,确保音频文件被完全加载。你可以根据自己的需求,使用`loadedmetadata`和`canplay`事件来确保音频文件被完全加载。
阅读全文