2016-06-11 67 views
2

我有一個MP3文件:寫入/更改原始ID3標籤?

B{ 
    255 251 144 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
    0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 110 102 111 0 0 0 15 
    0 0 30 161 0 50 3 66 0 3 5 8 10 13 15 18 20 24 26 28 
    31 33 36 38 41 43 47 49 52 54 56 59 61 64 66 69 72 
    75 77 79 82 84 87 89 92 95 98 100 103 105 107 110 
    112 115 118 ~3277535 more~ 
} 

而且我有一些元數據,我希望把它:

H{ 
    { "title" "Superstar (feat. Krewella)" } 
    { "artist" "Pegboard Nerds & NGHTMRE" } 
    { "num" 1 } 
} 

因素沒有一個詞彙來寫ID3標籤(還),但我有我想寫的原始文件數據和一些數據。

Wikipedia沒有任何幫助,而mpg123源也沒有真正清除任何東西。

如何將哈希表中的數據放入ID3v2頭文件中?

回答

2

我們還不支持編寫id3標籤。但Python已經和我們支持包裝Python模塊。所以,如果你願意以務實第一sudo pip install mutagen則:

USING: kernel python python.syntax sequences ; 
IN: examples.python.mutagen 

PY-QUALIFIED-FROM: mutagen.easyid3 => EasyID3 (name -- obj) ; 
PY-METHODS: mutagen:easyid3:EasyID3 => 
    __setitem__ (self key value --) 
    save (self --) ; 

: <EasyID3> (str -- easyid3) 
    >py mutagen.easyid3:EasyID3 ; 

: setitem (obj key val --) 
    [ >py ] [email protected] __setitem__ ; 

: update-tags (easyid3 assoc --) 
    dupd [ first2 setitem ] with each save ; 

然後,你可以寫ID3標籤是這樣的:

[ 
    "/path/to/mp3-file.mp3" <EasyID3> 
    { 
     { "title" "Superstar (feat. Krewella)" } 
     { "artist" "Pegboard Nerds & NGHTMRE" } 
    } update-tags 
] with-destructors 

當然在純因子做也不是沒有可能。但是你必須研究mp3和id3v1-2的規格。