записывать потоковое аудио в прямом эфире

На самом деле я делаю приложение, которое должно воспроизводить и записывать потоковое аудио из Интернета на iPad. Потоковая передача звука завершена, очень скоро мне нужно будет перейти к части записи, и я понятия не имею, как действовать дальше.

Не могли бы вы подсказать??? Идея? Его придется проигрывать, одновременно записывая в AAC или MP3.

Спасибо.


person awlcs    schedule 25.07.2010    source источник
comment
Любое решение для этого? Найдите следующую ссылку: stackoverflow.com/questions/10931615/   -  person Simha.IC    schedule 07.06.2012
comment
Не могли бы вы сообщить мне, есть ли у вас какое-либо решение для записи звука в прямом эфире?   -  person Simha.IC    schedule 07.06.2012


Ответы (2)


Вам нужно будет использовать API AudioQueue более низкого уровня и использовать API AudioSession для настройки аудиосессии.

Затем вам нужно будет заполнить структуру AudioStreamBasicDescription и создать новую входную очередь с AudioQueueNewInput() и включить функцию обратного вызова для обработки входных буферов.

Затем вам нужно будет создать 3 буфера, используя AudioQueueAllocateBuffer() и AudioQueueEnqueueBuffer(). И только тогда вы будете готовы позвонить AudioQueueStart(). Вы также должны обрабатывать прерывания аудиосессии и останавливать аудио-очередь.

Это просто даст вам поток буферов, содержащих несжатые 16-битные целочисленные аудиоданные PCM. Вам по-прежнему нужно сжимать данные, что является еще одной проблемой, связанной с использованием AudioConverter API, чего я не делал в ОС iPhone, поэтому я не знаю, что там сработает.

person lucius    schedule 28.07.2010
comment
Привет, Люциус. Спасибо, не могли бы вы объяснить немного больше xD, я новичок, и я потерялся: с - person awlcs; 04.08.2010
comment
У вас есть конкретный вопрос? - person lucius; 04.08.2010
comment
У вас есть пример кода, который делает это, т.е. записывает? :( - person awlcs; 09.08.2010

Пожалуйста, посмотрите на эту структуру. Он предоставляет данные для записи во время записи Streaming Kit.

Воспроизведение MP3 через HTTP

STKAudioPlayer* audioPlayer = [[STKAudioPlayer alloc] init];

[audioPlayer play:@"http://www.abstractpath.com/files/audiosamples/sample.mp3"];

И добавьте его данные в NSMutabledata для воспроизведения в автономном режиме с помощью этого делегата.

Перехватывать данные PCM непосредственно перед их воспроизведением

 [audioPlayer appendFrameFilterWithName:@"MyCustomFilter" block:^(UInt32 channelsPerFrame, UInt32 bytesPerFrame, UInt32 frameCount, void* frames)
   {
   ...
   }];
person Rajkumar Yadav    schedule 06.09.2014