0

私の車のオーディオにはいくつかのタグのコンテンツに問題があるため (表示には関係ありません)、MP3 内のいくつかのタグを並べ替えるために TagLib# を使用しようとしています。確かに、新しいタグを生成したり、既存のものを置き換えたりするのではなく、タグを並べ替えるだけです。理想的には、mp3 ファイル内のタグのシーケンスのみを変更する必要があるため、ファイル サイズは変更されません。

残念ながら、TDRC タグ (記録日付の新しい定義) を移動する方法を見つけることができません: 設定するとすぐに、TagLib は互換性のために何かを行うことを決定し、TYER タグと TDAT タグも生成します。TDRC に時間も存在する場合は、次に、TIME タグも生成します。

TDRC を設定するときにこれらのタグの自動生成を無効にする方法はありますか? TDRC を TextInformationFrame としてコピーしようとしましたが、うまくいきませんでした。

私は最新の TagLib を使用しており、id3v2.3 タグで MP3 ファイルを処理しています。

4

1 に答える 1

1

Id3v2.3をUTF16で使用しているという情報を追加しました。

TDRC は公式には id3v2.4 でのみ利用可能です。id3v2.3 で使用すると、公式規格外のタグが作成されます。

id3.orgはid3v2.4 について次のように述べています。

TDAT - 日付 / TIME - 時間 / TYER - 年
このフレームは TDRC フレーム「録音時間」に置き換えられます [F:4.2.5]

TDRC
'Recording time' フレームには、オーディオがいつ録音されたかを示すタイムスタンプが含まれています。タイムスタンプの形式は、ID3v2 構造ドキュメント [ID3v2-strct] に記載されています。


タイムスタンプ フィールドは、ISO 8601 のサブセットに基づいています 。可能な限り正確な時刻文字列の形式は、yyyy-MM-ddTHH:mm:ss (年、"-"、月、"-"、日、" T"、時間 (24 のうち)、":"、分、":"、秒) ですが、必要な数の時間インジケーターを削除することで精度を下げることができます。
したがって、有効なタイムスタンプは
、yyyy、yyyy-MM、yyyy-MM-dd、yyyy-MM-ddTHH、yyyy-MM-ddTHH:mm、yyyy-MM-ddTHH:mm:ss です。すべてのタイムスタンプは UTC です。期間については、8601 で説明されているようにスラッシュ文字を使用し、複数の連続しない日付については、フレーム定義で許可されている場合は複数の文字列を使用します。

于 2016-12-24T09:38:17.250 に答える