OutcastID3
一个轻量级的 Swift 库,用于读取和写入 ID3 标签,包括章节。
示例
要运行示例项目,先克隆仓库,并从 Example 目录运行 pod install
读取 ID3 标签
let url = Bundle.main.url(forResource: "MyFile", withExtension: "mp3")!
let mp3 = try MP3File(localUrl: url)
let tag = try x.readID3Tag()
let version = tag.tag.version
for frame in tag.tag.frames {
switch frame {
case let s as OutcastID3.Frame.StringFrame:
print("\(s.type.description): \(s.str)")
case let u as OutcastID3.Frame.UrlFrame:
print("\(u.type.description): \(u.urlString)")
case let comment as OutcastID3.Frame.CommentFrame:
print("COMMENT: \(comment)")
case let transcription as OutcastID3.Frame.TranscriptionFrame:
print("TRANSCRIPTION: \(transcription)")
case let picture as OutcastID3.Frame.PictureFrame:
print("PICTURE: \(picture)")
case let f as OutcastID3.Frame.ChapterFrame:
print("CHAPTER: \(f)")
case let toc as OutcastID3.Frame.TableOfContentsFrame:
print("TOC: \(toc)")
case let rawFrame as OutcastID3.Frame.RawFrame:
print("Unrecognised frame: \(String(describing: rawFrame.frameIdentifier))")
default:
break
}
}
写入 ID3 标签
let frames: [OutcastID3TagFrame] = [
OutcastID3.Frame.StringFrame(type: .title, encoding: .utf8, str: "Tag Writer Test")
]
let tag = OutcastID3.ID3Tag(
version: .v2_4,
frames: frames
)
let inputUrl = Bundle.main.url(forResource: "input", withExtension: "mp3")!
let outputUrl = Bundle.main.url(forResource: "output", withExtension: "mp3")!
let mp3File = try OutcastID3.MP3File(localUrl: inputUrl)
try mp3File.writeID3Tag(tag: tag, outputUrl: outputUrl)
安装
OutcastID3 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中
pod 'OutcastID3'
作者
Crunchy Bagel,[email protected]
许可证
OutcastID3由MIT许可证提供。有关更多信息,请参阅LICENSE文件。