2015-04-26 82 views

回答

8

閱讀更多URL:http://www.richardfarrar.com/embedding-album-art-in-mp3-files/

你想要的是使用ID3頭,其中arists數據和更多的存儲。圖像也可以存儲在這些標題中。也許這也是在你的mp3文件中完成的。

類似https://github.com/aadsm/JavaScript-ID3-Reader的圖書館可以使用Javascript從MP3中讀取此數據。

從示例(:你需要高於此代碼之前將工作庫注):借

function showTags(url) { 
     var tags = ID3.getAllTags(url); 
     console.log(tags); 
     document.getElementById('title').textContent = tags.title || ""; 
     document.getElementById('artist').textContent = tags.artist || ""; 
     document.getElementById('album').textContent = tags.album || ""; 

     var image = tags.picture; 
     if (image) { 
     var base64String = ""; 
     for (var i = 0; i < image.data.length; i++) { 
      base64String += String.fromCharCode(image.data[i]); 
     } 
     var base64 = "data:" + image.format + ";base64," + 
       window.btoa(base64String); 
     document.getElementById('picture').setAttribute('src',base64); 
     } else { 
     document.getElementById('picture').style.display = "none"; 
     } 
    } 
+0

這正是我需要的,謝謝! –

+0

好吧,我查看了[例子](https://github.com/aadsm/JavaScript-ID3-Reader/blob/master/example/index.html#L46)中的代碼,我很困惑,我想從輸入框中給出的url中獲得封面,所以我正在執行'url = input'(我使用console.log進行了檢查,它對於我給出的文件路徑是例外的),除了它沒有' t去功能showTags(url) –

+0

問題是,你可能有一個跨域問題。您不能從另一臺服務器訪問任何數據,除非服務器通過頭文件特別提供了許可。 – Niels