我正在创建一个支持在 Mac OS 环境中播放 hls 文件 (.m3u8) 的应用程序,我刚刚发现 AVFoundation 仅适用于 Mac OS 10.7 及更高版本。
所以,我只剩下 QTKit 了。
Apple 关于 HLS 的文档说 HLS 可以使用 AVFoundation 和 QTKit 框架在 Mac OS 上播放。(嗯,他们使用了“AND”这个词......我希望 QTKit 可以单独播放 m3u8 文件 --- 因为 QuickTime X 播放器可以很好地播放它们)
无论如何,我已经调整了 Apple 的 MyMediaPlayer 示例代码以适应 .m3u8 文件。(示例代码可以在这里看到:http: //developer.apple.com/library/mac/#samplecode/MyMediaPlayer/Introduction/Intro.html#//apple_ref/doc/uid/DTS40009203)
这是 QTMovie initWithAttributes 代码片段:
NSDictionary *attrs = [NSDictionary dictionaryWithObjectsAndKeys:
absoluteURL, QTMovieURLAttribute,
[NSNumber numberWithBool:YES], QTMovieOpenForPlaybackAttribute ,
[NSNumber numberWithBool:YES], QTMovieOpenAsyncRequiredAttribute,
[NSNumber numberWithBool:YES], QTMovieOpenAsyncOKAttribute,
nil];
[self willChangeValueForKey:@"movie"];
mMovie = [[QTMovie alloc] initWithAttributes:attrs error:outError];
[self didChangeValueForKey:@"movie"];
我想玩的是这个:
prog_index.m3u8 --> 我使用 Apple 的 MediaFileSegmenter 制作的。
请告诉我单独的 QTKit 框架是否可以播放 HLS 文件。如果可以,我做错了什么?