воспроизведение музыки по URL - PullRequest
1 голос
/ 15 июня 2011

Я хочу проигрывать музыку из интернета по URL. Я создаю простой проект, который имеет одну кнопку со следующим кодом:

NSURL *url = [[NSURL alloc] initWithString:@"http://someURL.mp3"];
NSError **err;
QTMovie *movie = [[QTMovie alloc] initWithURL:url error:err];
[movie play];

Это работает, но с некоторой задержкой (я думаю, потому что это ждет, пока файл был полностью загружен).
Итак, что мне нужно сделать, чтобы музыка начала воспроизводиться немедленно (например, когда загружено 10% файла)?

Ответы [ 2 ]

1 голос
/ 26 июня 2011

Используйте -[QTMovie autoplay] для автоматического воспроизведения музыки после загрузки достаточного количества данных.

В вашем случае:

NSURL *url = [[NSURL alloc] initWithString:@"http://someURL.mp3"];
NSError **err;
QTMovie *movie = [[QTMovie alloc] initWithURL:url error:err];
[movie autoplay];

Из справочника по классам QTMovie :

Метод autoplay настраивает объект QTMovie для начала воспроизведения, как только будет доступно достаточно данных, чтобы воспроизведение могло продолжаться непрерывно до конца фильма.

1 голос
/ 15 июня 2011

Если вы можете рассмотреть возможность отображения окна Quicktime поверх вашего приложения, вы можете использовать этот код:

NSString *url = @"http://someURL.mp3";
UIWebView* tempAudioPlayer = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; 
[tempAudioPlayer loadHTMLString:[NSString stringWithFormat:@"<iframe frameborder=\"0\" width=\"0\" height=\"0\" src=\"%@\"></iframe>", url] baseURL:nil];
[self addSubview:tempAudioPlayer];

Сначала я создаю UIWebView, который не будет отображаться.Затем я loadHTMLString a <iframe> в нем, с URL моего файла в качестве значения src.И я добавляю это к моему мнению.Quicktime появляется сразу.

...