在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
事件,用于在音频可以开始播放时获取音频的时长。
希望这能够帮助到你。如果你有其他问题或者需要进一步的帮助,请随时告诉我。