MNAVChapters
iOS 库能够读取视听资产的章节元数据。它从 MPEG-4 和特定 MP3 文件中读取章节。虽然 id3v2 标准从 2005 年起指定了章节帧,但我找不到一个能正确解析这个帧的 C 或 Objective-C 库。
这个Objective-C的实现受到了auphonic博客上的auphonic博客文章的启发。
AVAsset *asset = [self assetWithResource:@"auphonic_chapters_demo" ofType:@"mp3"];
NSArray *chapters = [[MNAVChapterReader new] chaptersFromAsset:asset];
请注意,这是阻塞操作,因此不应该在主循环中运行。
@interface MNAVChapter : NSObject
@property (nonatomic) NSString *title;
@property (nonatomic) NSString *url;
@property (nonatomic) CMTime time;
@property (nonatomic) CMTime duration;
@property (nonatomic) UIImage *artwork;
- (BOOL)isEqualToChapter:(MNAVChapter *)aChapter;
- (MNAVChapter *)initWithTime:(CMTime)time duration:(CMTime)duration;
+ (MNAVChapter *)chapterWithTime:(CMTime)time duration:(CMTime)duration;
@end