个人网站没人访问,做网站应该注意些什么问题,跨境电商推广平台,打开网站访问慢js通过音频链接获取音频时长
要在JavaScript中从音频链接获取音频文件的持续时间#xff0c;您可以使用fetch API来检索音频文件#xff0c;然后使用audio API来获取持续时间。例子:
function getAudioDuration(audioUrl) {return fetch(audioUrl).then((response) re…js通过音频链接获取音频时长
要在JavaScript中从音频链接获取音频文件的持续时间您可以使用fetch API来检索音频文件然后使用audio API来获取持续时间。例子:
function getAudioDuration(audioUrl) {return fetch(audioUrl).then((response) response.arrayBuffer()).then((arrayBuffer) {return new Promise((resolve, reject) {const audio new Audio();audio.src URL.createObjectURL(new Blob([arrayBuffer]));audio.addEventListener(loadedmetadata, () {resolve(audio.duration);audio.remove();});audio.addEventListener(error, () {reject(new Error(Failed to get audio duration));audio.remove();});document.body.appendChild(audio);});});
}// Example usage
const audioUrl https://www.example.com/audio.mp3;
getAudioDuration(audioUrl).then((duration) {if (duration) {console.log(Audio duration:, duration);} else {console.log(Failed to get audio duration);}}).catch((error) {console.error(error);});这个函数使用fetch API作为ArrayBuffer来检索音频文件然后使用URL.createObjectURL创建一个新的音频元素其中包含音频数据。当loaddmetadata事件被触发时它会解析带有音频持续时间的Promise如果有错误它会用错误拒绝Promise。
与视频示例一样Audio元素的duration属性以秒为单位因此如果需要您可能希望将其转换为更易于阅读的格式。