Как реализовать поиск, используя образец приложения AudioStreamer в качестве основы? - PullRequest
0 голосов
/ 02 августа 2010

Мне нужно воспроизвести потоковое содержимое на iPhone, но есть некоторые варианты и проблемы, которые я не могу решить:

1. http://cocoawithlove.com/2009/06/revisiting-old-post-streaming-and.html

Это библиотека, предоставленная Мэттом Галлахером, но я увидел Ограниченную область действия , и я бы сыграл отдельная песня , а не радиостанция.

2. Предложение от zonble

NSURL *URL = [NSURL URLWithString:@"http://zonble.net/MIDI/orz.mp3"];
NSData *data = [NSData dataWithContentsOfURL:URL];
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:data error:nil];

Но мне нужна потоковая передача для каждой "отдельной песни".

3. Использование MPMoviePlayerController для упаковки.

Поскольку класс обновляет новый метод, а

@interface MyAudioStreamer : UIViewController {
    MPMoviePlayerController *mp ;
}

вместо [self addSubview:mp.view] Я использую свой xib файл для реализации воспроизведения и stop методов, но в этом случае я понятия не имею, чтобы реализовать seekForward или seekBackward.

Есть ли хорошая идея сделать AudioStreamer?

==== Обновление ====

после Google 'AVPlayer' я использовал 3. Использование MPMoviePlayerController для оболочки. для реализации плеера, похожего на auidoStreamer, есть что поделиться:

1. Состояние PlaybackDidFinished Есть 2 условия: песня закончилась и воспроизводится следующая песня или песня прервана по нажатию кнопки «Стоп» или исключению, я использовал enum для фильтрации моего состояния.

2 многозадачных воспроизведения вашей песни в фоновом режиме ссылка с https: // devforums.apple.com/message/264397

и в случае обновления iOS SDK решение может быть изменено, поскольку метод будет дублирован. поэтому я предлагаю прочитать библиотеку, предоставленную Мэттом Галлахером.

Кто-нибудь, кто знает, когда библиотека не имеет элемента загрузки, совпадающего с кодеком (например, мой элемент кодируется с помощью 128-разрядного файла .AAC, а библиотека не поддерживает или не более. 64-разрядного файла .AAC), что произойдет с проигрывателем?

1 Ответ

0 голосов
/ 02 августа 2010

Вы можете анализировать ледяные метаданные самостоятельно, или, если вы используете iOS 4.0, вы можете воспроизводить, используя AVPlayer, и наблюдать синхронизированные метаданные, чтобы определить границы и названия песен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...