Мне действительно нужна помощь в воспроизведении аудио-байтов из UDP с использованием AUGraph. Я записал (Mi c) и сыграл байты (Revertback), используя AUGraph, и мой recordingCallback выглядит следующим образом.
func performRecording(
_ ioActionFlags: UnsafeMutablePointer<AudioUnitRenderActionFlags>,
inTimeStamp: UnsafePointer<AudioTimeStamp>,
inBufNumber: UInt32,
inNumberFrames: UInt32,
ioData: UnsafeMutablePointer<AudioBufferList>
) -> OSStatus {
var err: OSStatus = noErr
err = AudioUnitRender(audioUnit!, ioActionFlags, inTimeStamp, 1, inNumberFrames, ioData)
let ptrData = ioData[0].mBuffers.mData!.bindMemory(to: Int16.self, capacity: Int(inNumberFrames))
let bufferPtr = UnsafeBufferPointer(start: ptrData, count: Int(inNumberFrames))
_ = TPCircularBufferProduceBytes(&circularBuffer, Array(bufferPtr), inNumberFrames * 2)
return err
}
Где я получаю байты в ioData и помещаю их в TPCircularBuffer, но то, что я хочу состоит в том, чтобы поместить байты UDP в AudioBufferList и воспроизводить их, а не микрофон.
Важно, чтобы я не хотел воспроизводить байты UDP напрямую, но сначала я хочу применить NewTimePitch AUFormatter, а затем воспроизводить эти байты, используя мой IOUnit в AUGraph.
Нужна помощь в переводе аудиобайт из UDP в InputBus (элемент 1) AudioUnit.