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