获取音频资源的时长

Posted 星辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取音频资源的时长相关的知识,希望对你有一定的参考价值。

方法一:利用audio标签对象获取duration时长

const audio = document.createElement(\'audio\');
audio.oncanplay = () => 
	console.log(\'音频时长:\', audio.duration);

audio.src = \'/test.mp4\';

这种方式会有bug,那就是在部分低版本ios中,oncanplay方法是不会被触发的。所以推荐使用方法二。

方法二:buffer对象拿到duration时长

const reader = new FileReader();
reader.onload = (e) => 
	window.AudioContext = window.AudioContext || window.webkitAudioContext;
	const context = new AudioContext();
	context.decodeAudioData(e.srcElement.result, (buffer) => 
    console.log(\'音频时长:\', buffer.duration);
  , () => 
    console.log(\'失败\');
  );
;
reader.readAsArrayBuffer(blob); // 音频的blob对象

以上是关于获取音频资源的时长的主要内容,如果未能解决你的问题,请参考以下文章

小程序wx.createInnerAudioContext()获取不到时长问题

Flutter获取音频文件的时长

获取音频时长的总结

在java中怎么获取音频的总时长?

如何获取音频文件的准确时长,比如MP3

java获取音频文件播放时长