我有一個'瀏覽器應用程序',用戶應該能夠將本地mp3文件拖放到Chrome,並應該看到一些mp3信息(無需將文件上傳到服務器)...
到目前爲止,我可以成功讀取並顯示mp3標籤(使用JavaScript-ID3-Reader庫),但我在顯示mp3的持續時間方面掙扎了一番。只有js/jQuery纔有可能獲得該信息嗎?如果不是,你會推薦什麼來解決這個簡單的問題?我使用的是處理文件拖放到瀏覽器用JavaScript/jQuery閱讀Chrome中的mp3文件持續時間
代碼如下所示:
function initialize() {
var target = document;
if (target === null) {
return false;
}
target.addEventListener('drop', function(event) {
event.preventDefault();
var files = event.dataTransfer.files;
console.log(files);
for (var i = 0; i < files.length; i++) {
processFile(files[i]);
objectURL = window.URL.createObjectURL(files[i]);
console.log(objectURL);
}
}, true);
}
謝謝!
如果文件沒有上傳,您將無法可靠地找出時間。你將有與元數據相同的問題,因爲你不能只上傳瀏覽器中的第一個x字節AFAIK – devsnd
嗯,好像我可以讀取mp3標籤,沒有任何問題,我正在使用該庫。 。但是你想說,如果沒有實際上傳到服務器,就不可能獲得mp3播放時間? – errata
啊,對不起,我弄錯了。您可能可以輕鬆地處理恆定比特率的文件。你應該能夠從你的id標籤庫中獲得比特率。那麼你可以簡單地通過比特率來劃分文件大小以獲得對持續時間的接近估計。 – devsnd