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