AVFoundation において AVMetadataIdentifierID3MetadataUserText の description は extraAttributes から貰う
この記事では https://id3.org/id3v2.4.0-frames の 4.2.6. User defined text information frame
を読んでいることを前提で話すので注意。Description = Key-Value の Key であるということだけわかっていればよい。
タイトルに書いた通りなんだが、AVMetadataIdentifier が .id3MetadataUserText (AVMetadataIdentifierID3MetadataUserText) だった時は value を読んでも Description は貰えない (上の 4.2.6 に書かれているところの Value しか貰えない)。
じゃあ Description はどうやって得るのか? というと、extraAttributes を読むと AVMetadataExtraAttributeInfoKey (Swift: AVMetadataExtraAttributeKey.info) の中に入っている。
まあわかってしまえば簡単なんだが、案外 GitHub でも Google でも検索したところ実際に使ってる人がいなかったのでメモ。まあ AVFoundation で mp3 のメタデータ、しかも TXXX を読もうという人もあんまりいないという話はあるかもしれないが……。