Я создаю приложение, которое поддерживает воспроизведение hls-файлов (.m3u8) в среде Mac OS, и я только что узнал, что AVFoundation доступен только для Mac OS 10.7 и далее.Воспроизведение HLS (.m3u8) с использованием QTKit в MacOS 10.6.8
Итак, у меня остался QTKit.
Документация Apple на HLS говорит, что HLS можно воспроизводить на Mac OS с использованием структур AVFoundation и QTKit. (Ну, они использовали слово «И» ... и я надеюсь, что QTKit может играть только файлы m3u8, поскольку проигрыватель QuickTime X играет их хорошо)
В любом случае, я изменил образец кода MyMediaPlayer от Apple до разместить файлы .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 - -> который я сделал с помощью MediaFileSegmenter от Apple.
Скажите, пожалуйста, если только каркас QTKit может воспроизводить файлы HLS. И если это возможно, что я делаю неправильно?
Вы пытались использовать абсолютные URL-адреса в файле списка воспроизведения? Я не могу придумать, почему это не сработает. С другой стороны, нет смысла использовать HLS, если http не является механизмом доставки. – vipw
Да, я попытался установить абсолютные URL. Однако, это тоже не сработает. Вам действительно нужно иметь http-сервер для ваших файлов плейлистов. – mltpyt