2015-06-01 1 views
1

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

- (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 **), он может решить мою проблему, но я не знаю, как это сделать.

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

ответ

0

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^