Apple introduced API that enables recording audio from other apps or the entire system in macOS 14.4, but it's poorly documented and there's no sample code available, so I decided to fix that: https://github.com/insidegui/AudioCap
GitHub - insidegui/AudioCap: Sample code for recording system audio on macOS 14.4+

Sample code for recording system audio on macOS 14.4+ - insidegui/AudioCap

GitHub
@_inside I would love to see DevPubs integrate community stuff like this into the docs
@_inside I’m not surprised that some audio-based API isn’t documented that well. It seems to be a constant thing with audio APIs.
@waynedixon @_inside You could remove the word “audio” from your post, it would still be accurate.
@_inside nice 🙌 I was looking at AVFoundation 😅
Audio Hijack 4.4 Gains a New Installer-Free Setup

Getting started with Audio Hijack has never been simpler.

@_inside has OBS not been capable of this for a long time?
@siguza Not sure about OBS, but this used to require a custom kernel extension or something, and it was a huge pain on Apple Silicon. This new API makes things easier.
@_inside apparently it's been supported since macOS 13: https://obsproject.com/kb/macos-desktop-audio-capture-guide
macOS Desktop Audio Capture Guide | OBS

OBS Knowledge Base. Make sure your viewers can hear what you hear from your Mac

@siguza Interesting. No idea what they were using, but this API is new as of 14.4
@_inside a quick grep through the macOS SDK would suggest ScreenCaptureKit.framework?
@siguza @_inside You can record system audio with that, yes
@siguza @_inside and I’m referring to the CoreAudio stuff (ATAudioTap*, etc.) but ATAudioTapDescriptionPID is new as of iOS 16
@_inside How is this different from using ScreenCaptureKit to capture audio? That was introduced in macOS 13. Thanks.
@matt I can’t answer that because I’m not familiar with ScreenCaptureKit, but I guess with SCK you’d need screen recording permission?
@_inside @matt Yeah, AFAIK you need screen recording permissions to be able to request available content so you can filter what you want to record (and thus get audio data from)
@_inside Really interesting thanks. I assume this is what Rogue Amoeba is using now. I thought it was ScreenCaptureKit!
@_inside phone call recording?