2010-07-25 3 views
4

Я на самом деле создаю приложение, которое должно воспроизводить и записывать потоковое аудио из Интернета на ipad. Потоковая передача звука завершена, я должен скоро приступить к записи, и я не знаю, как это сделать.запись в прямом эфире аудио

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

Спасибо.

+0

Любое решение для этого? Пожалуйста, найдите следующую ссылку: http://stackoverflow.com/questions/10931615/how-to-record-livestream-audio-and-save-to-documents-directory-while-playing –

+0

Можете ли вы предоставить мне, если вы получили любое решение для записи звука liveStream? –

ответ

1

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

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

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

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

+0

Привет lucius Спасибо, вы можете объяснить немного больше xD Я новый, и я потерян: s – awlcs

+0

У вас есть конкретный вопрос? – lucius

+0

У вас есть пример кода, который выполняет эту запись? :( – awlcs

0

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

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

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

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

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

данные Intercept PCM как раз перед его играл

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