воспроизведение данных PCM на Iphone - PullRequest
0 голосов
/ 04 мая 2011

Мне нужно воспроизвести линейные данные PCM в реальном времени на iPhone.

Я получаю поток данных LIVE через RTSP, и в настоящее время я могу считать его с iphone, сохранить его в файл, воспроизвести на настольном аудиоплеере, поддерживающем pcm, поэтому я думаю, что транспорт в порядке .

теперь я застрял, у меня полностью! понятия не имею, что делать с моим объектом NSData, содержащим данные.

Я провел небольшое исследование, в конечном итоге выбрав AudioUnits, но я просто не могу назначить свои NSdata для аудиобуфера, соответственно, я понятия не имею, как.

для моего экземпляра я назначил обратный вызов:

AURenderCallbackStruct input;
input.inputProc = makeSound;
input.inputProcRefCon = self;

и с функцией 'makeSound':

   OSStatus makeSound(
                void *inRefCon, 
                AudioUnitRenderActionFlags  *ioActionFlags, 
                const AudioTimeStamp        *inTimeStamp, 
                UInt32                      inBusNumber, 
                UInt32                      inNumberFrames, 
                AudioBufferList             *ioData)

      {

            //so what to do here?
            //ioData->mBuffers[0].mdata = [mySound bytes]; does not work, nor does
            //ioData->mBuffers = [mySound byes];

            return noErr;
       }

мой подход неверен в гернерале?

что мне нужно знать / изучать / реализовывать? Я полный аудио-новичок, поэтому я предложил, чтобы мне не нужно было несколько буферов, так как, когда я получаю новый звуковой пакет от rtsp, старый заканчивается, так как это живой эфир (я основываю это на своих записях). , который просто добавил байты без просмотра меток времени представления, так как я все равно не получаю)

Приветствия

1 Ответ

1 голос
/ 04 мая 2011

Я не знаю, действительно ли это то, что вы ищете, но вам может пригодиться код AudioStreamer Мэтта Галлахера. В частности, проверьте, как он обрабатывает буферизацию звука. http://cocoawithlove.com/2010/03/streaming-mp3aac-audio-again.html

...