A virtual device refers to the use of AudioServerPlugIn to create a nullAudio, similar to the open-source BlackHole. As you mentioned: for synchronized audio, the CoreAudio API AudioHardwareCreateAggregateDevice is used to create an aggregate device. I did this, and it was successful. However, when I switch the microphone mode to the voice enhancement mode, the number of input channels I retrieve from the aggregate device is incorrect. The specific issue can be seen in the following two help posts:
https://stackoverflow.com/questions/79319480/mac-audio-software-aggregate-device-issue
https://developer.apple.com/forums/thread/771690
Therefore, I had to abandon the aggregate device and use separate devices to capture and forward the audio. But this led to synchronization issues.
@Systems Engineer
Topic:
Media Technologies
SubTopic:
Audio
Tags: