OutcastID3 0.7.0

OutcastID3 0.7.0

Quentin Zervaas 维护。



OutcastID3

CI Status Version License Platform

一个轻量级的 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文件。