
Sudo launchctl kickstart -kp system/įor more specific details visit the Wiki. Restart CoreAudio with the terminal command: Note that the directory is the root /Library not /Users/user/Library. Rm -R /Library/Audio/Plug-Ins/HAL/BlackHoleXch.driverīe sure to replace X with either 2, 16, or 64. Uninstallation Instructions Option 1: Use Uninstallerĭelete the BlackHole driver with the terminal command: Installation Instructions Option 1: Download Installer Compatible with macOS Yosemite (10.10) and newer.
Customizable mirror device to allow for a hidden input or output.
Customizable channel count, latency, hidden devices.
Builds 2, 16, 64, 128, 256 audio channels versions. Sponsor: sponsors/ExistentialAudio Table of Contents UInt64 mSampleTime = inIOCycleInfo->mInputTime.mSampleTime įor (UInt32 frame = 0 frame mOutputTime.BlackHole is a modern macOS virtual audio loopback driver that allows applications to pass audio to other applications with zero additional latency. If(inOperationID = kAudioServerPlugInIOOperationReadInput)įloat32* buffer = (Float32*)ioMainBuffer #pragma unused(inClientID, inIOCycleInfo, ioSecondaryBuffer)įailWithAction(inDriver != gAudioServerPlugInDriverRef, theAnswer = kAudioHardwareBadObjectError, Done, "BlackHole_DoIOOperation: bad driver reference") įailWithAction(inDeviceObjectID != kObjectID_Device, theAnswer = kAudioHardwareBadObjectError, Done, "BlackHole_DoIOOperation: bad device ID") įailWithAction((inStreamObjectID != kObjectID_Stream_Input) & (inStreamObjectID != kObjectID_Stream_Output), theAnswer = kAudioHardwareBadObjectError, Done, "BlackHole_DoIOOperation: bad stream ID") clear the buffer for the ReadInput operation. This is called to actuall perform a given operation. memset(ioMainBuffer, 0, inIOBufferFrameSize * NUMBER_OF_CHANNELS * sizeof(Float32)) static OSStatus BlackHole_DoIOOperation(AudioServerPlugInDriverRef inDriver,Ĭonst AudioServerPlugInIOCycleInfo* inIOCycleInfo, I suspect caused by this line of code, so I removed it, but still doesn't work. Here is BlackHole_DoIOOperation() function source code: This is virtual input device created by BlackHole This is virtual output device created by BlackHole I know it must be write some lines of code in BlackHole_DoIOOperation() function, but I don't know any direction, can anyone give me some suggestion? Thanks When I select this virtual device as audio output device, I do really can capture system output audio through a corresponding virtual input device created by BlockHole at the same time with virtual output device.īut, there is no sound playback from virtual output device, I cannot hear any voice from speaker or headphone. I'm using BlackHole try to capture system output audio on macOS, BlackHole drive can create an virtual audio device, like BlackHole 2ch, which supports 2 channels.