AudioBufferList to float ** преобразование EZAudio EZMicrophone для визуального построения

Я использую EZAudio в своем проекте для чтения аудиоданных с микрофона. EZAudio имеет 2 метода микрофона:

- (void)microphone:(EZMicrophone *)microphone hasBufferList:(AudioBufferList *)bufferList withBufferSize:(UInt32)bufferSize withNumberOfChannels:(UInt32)numberOfChannels {

-(void)microphone:(EZMicrophone *)microphone hasAudioReceived:(float **)buffer withBufferSize:(UInt32)bufferSize withNumberOfChannels:(UInt32)numberOfChannels {

Я использую первый метод с AudioBufferList, чтобы получить аудиоданные и отправить их по Wi-Fi. Это работает хорошо. Но когда я хочу отобразить их, насколько я могу судить, EZAudio принимает только вывод второго метода, который использует float ** для построения. Кажется, я застрял здесь. Я не могу заставить EZOutput воспроизводить float **, поэтому я могу использовать метод второго микрофона как для построения графика, так и для воспроизведения. И я не могу передать AudioBufferList из первого метода для построения графика.

Кажется, если мне удастся преобразовать один в другой (AudioBufferList ‹--> float **), это может решить мою проблему, но я не знаю, как это сделать.

Любая помощь приветствуется.


person dddx    schedule 01.06.2015    source источник


Ответы (1)


Попробуй это:

float *buffer = (float*)bufferList->mBuffers[0].mData;
person Youngin    schedule 10.07.2015