在uni-app中,你可以使用uni.createInnerAudioContext()
来创建一个内部音频上下文,然后通过这个对象来获取音频的播放时长。以下是一个示例代码:
// 创建一个内部音频上下文对象 const audioContext = uni.createInnerAudioContext(); // 设置要播放的音频文件的路径 audioContext.src = 'path/to/your/audio/file.mp3'; // 监听音频可以播放的事件 audioContext.onCanplay(() => { // 获取音频的播放时长(单位:秒) console.log('音频文件时长为:', audioContext.duration + 's'); }); // 监听错误事件 audioContext.onError((err) => { console.log('发生错误:', err); }); // 需要触发一次播放事件,以便能够获取到音频时长 audioContext.play(); audioContext.pause(); // 可以立即暂停,不影响获取到音频时长
在这个示例中,我们首先创建了一个内部音频上下文对象audioContext
,然后设置要播放的音频文件路径,并监听了onCanplay
事件,用于在音频可以开始播放时获取音频的时长。
希望这能够帮助到你。如果你有其他问题或者需要进一步的帮助,请随时告诉我。