如何查询m4a文件中的章节元数据?

时间:2009-06-16 18:24:23

标签: iphone podcast m4a

我需要编写一些代码,让我查询m4a文件并提取章节信息。包括:

  • 章节名称
  • 章节开始时间
  • 章节艺术作品

我做了一些快速搜索,它似乎被Apple视为专有信息?我找到了一些讨论,但大多数是从2005年开始的。此外也有一些类似的问题,但更多的是用章节创建m4a文件,而不是查询。

这是我必须DIY的东西,因为我没有一个很好的苹果API供我使用?或者我错过了一些明显的东西?

另外,理想情况下,我需要使用最终用于iPhone的任何技术。

4 个答案:

答案 0 :(得分:1)

元数据标签系统是Apple专有的。要使用标记,您必须(叹气)对其进行反向工程或使用已经完成此操作的库。

我找到了以下链接,但说实话,您似乎必须拔出十六进制编辑器。

Binary format info (basic spec for generic tags)

Perl library for working with M4A files.

答案 1 :(得分:1)

事实证明这比在“答案”中谈到的要简单得多。不确定这是否适用于iPhone,但我只是在命令行应用程序中测试它:

QTMovie* movie = [QTMovie movieWithFile:@"filename.m4a" error:nil];

NSInteger numChapters = [movie chapterCount];
NSLog(@"Number of Chapters: %d", numChapters);

NSArray* chapterArray = [movie chapters];
for ( NSDictionary* chapDict in chapterArray )
{
    NSLog(@"%@", [chapDict objectForKey:@"QTMovieChapterName"] );
}

很容易就像馅饼一样。 DOH!

答案 2 :(得分:0)

这个库应该可以解决你的需求,但是如果没有越狱我就不会在iphone上运行了。 http://wmptagext.sourceforge.net/

oops如果你需要它在iphone上工作,可能有一个苹果api来获取这些信息。 /我看起来 听起来你需要玩ipodlibrary库....

http://developer.apple.com/iphone/library/documentation/Audio/Conceptual/iPodLibraryAccess_Guide/UsingTheiPodLibrary/UsingTheiPodLibrary.html#//apple_ref/doc/uid/TP40008765-CH101-SW1

答案 3 :(得分:0)

如果有问题的文件存在于iPod库中, 也许你可以通过MPMediaLibrary获取你的信息 查询界面(3.0向上)。