Как получить необработанные данные в printf (буфер)? в аудиозаписи iphone - PullRequest
0 голосов
/ 08 июня 2010

Мне нужны необработанные данные, такие как 0/1

static OSStatus recordingCallback(void *inRefCon, 
                                  AudioUnitRenderActionFlags *ioActionFlags, 
                                 // AudioQueueBufferRef inBuffer,
                                  const AudioTimeStamp *inTimeStamp, 
                                  UInt32 inBusNumber, 
                                  UInt32 inNumberFrames, 
                                  AudioBufferList *ioData) {

      ////AudioHelper *remoteIOplayer = (AudioHelper *)inRefCon;

    signalTime = CFAbsoluteTimeGetCurrent();    


    AudioBufferList list;

    // redundant
    list.mNumberBuffers = 1;
    list.mBuffers[0].mData = sampleBuffer;
    list.mBuffers[0].mDataByteSize = 2 * inNumberFrames;
    list.mBuffers[0].mNumberChannels = 1;  

    ioData = &list;        
    printf("No buffers: %d, buffer length: %d bus number: %d\n", ioData->mNumberBuffers, ioData->mBuffers[0].mData, inBusNumber);

1 Ответ

2 голосов
/ 09 июня 2010
SInt16* buf = (SInt16 *)ioData->mBuffers[0].mData;
for(int i=0; i< ioData->mBuffers[0].mDataByteSize / 2; i=i+2) {
    printf("\n%d\n%d ", buf[i], buf[i+1]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...