Ric*_*cky 7 javascript php jquery
我需要计算一个mp3文件的总长度.
目前我正在使用PHP类,我发现@ http://www.zedwood.com/article/php-calculate-duration-of-mp3.
如果同一服务器中的mp3文件,这是完美的工作.
但如果我有来自其他网站的网址,则会抛出错误.请帮我.
是否有任何JavaScript J-Query函数来获取mp3文件的长度
<?php include("mp3.class.php");
$f = 'http://cdn.enjoypur.vc/upload_file/5570/5738/5739/7924/Blue%20Eyes%20-%20Yo%20Yo%20Honey%20Singh%20(PagalWorld.com)%20-192Kbps%20.mp3';
$m = new mp3file($f);
$a = $m->get_metadata();
if ($a['Encoding']=='Unknown')
echo "?";
else if ($a['Encoding']=='VBR')
print_r($a);
else if ($a['Encoding']=='CBR')
print_r($a);
unset($a);
?>
Run Code Online (Sandbox Code Playgroud)
以下是使用 Web Audio API 获取 mp3 持续时间的方法:
const mp3file = 'https://raw.githubusercontent.com/prof3ssorSt3v3/media-sample-files/master/doorbell.mp3'
const audioContext = new (window.AudioContext || window.webkitAudioContext)()
const request = new XMLHttpRequest()
request.open('GET', mp3file, true)
request.responseType = 'arraybuffer'
request.onload = function() {
audioContext.decodeAudioData(request.response,
function(buffer) {
let duration = buffer.duration
console.log(duration)
document.write(duration)
}
)
}
request.send()Run Code Online (Sandbox Code Playgroud)
实际上有一个库可以在客户端运行,尝试获取足够的 MP3 来读取 ID3 标签:
http://github.com/aadsm/JavaScript-ID3-Reader
或者
尝试
HTML 文件 API。