我需要动态创建 id3 标签文件内容并将其发送到来自 iOS 的视频流。
为了测试 puspose,我使用 Apple id3taggenerator 工具创建了一个带有如下命令的 hello.id3 文件:
id3taggenerator -o hello.id3 -title "Hello World"
然后我从 iOS 读取此文件内容并将其发送到我的视频流,一切正常。我将此文件内容打印为字符串并得到了这个(也就是说,我想是 id3 标签规范):
(lldb) po text
"ID3\u{04}\0\0\0\0\0\u{17}TIT2\0\0\0\r\0\0\u{03}Hello World\0"
现在我想直接在代码中创建这个文件内容。我尝试使用 AVFoundation 的 AVMutableMetadataItem 类,但没有成功(我没有正确获得内容描述,或者我不知道如何获得它)。
let item = AVMutableMetadataItem()
item.keySpace = AVMetadataKeySpaceID3;
item.key = AVMetadataID3MetadataKeyTitleDescription as NSString
item.value = "Hello World" as NSString
// how can I get the item raw data ?
我还查看了 id3libiOS,但可以使其正常工作。
有人已经这样做了吗?