2

MP3 ファイルがあります。

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 }
}

Factor には ID3 タグを書き込むためのボキャブラリは (まだ) ありませんが、生のファイル データと書きたいデータはいくつかあります。

ウィキペディアは何の助けにもなりませんし、mpg123のソースも実際には何も解決していません。

ハッシュテーブルのデータを ID3v2 ヘッダーに入れるにはどうすればよいですか?

4

1 に答える 1

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 ] bi@ __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 の仕様について詳しく調べる必要があります。

于 2016-06-23T13:36:54.107 に答える