检查音频输入设备是否正在使用 (macOS) (Swift)
Check if audio input devices are in use (macOS) (Swift)
我正在使用 AVFoundation 获取系统上的音频捕获设备列表,我想确定系统上的任何应用程序当前是否正在从该设备捕获音频或正在使用该设备。
我看到 AVCaptureDevice 有一个 isInUseByAnotherApplication 值,但看起来该标志只有在另一个应用程序对该设备具有独占锁时才会存在。
是否可以确定应用程序当前是否正在从 OS X 上的 AVCaptureDevice 捕获音频?
您需要下降到较低级别的 CoreAudio
API。
检查 AudioHardware.h
中的 属性 kAudioDevicePropertyDeviceIsRunningSomewhere
。您可以在输入和输出设备上查询此 属性,它应该会为您提供所需的信息。
我正在使用 AVFoundation 获取系统上的音频捕获设备列表,我想确定系统上的任何应用程序当前是否正在从该设备捕获音频或正在使用该设备。
我看到 AVCaptureDevice 有一个 isInUseByAnotherApplication 值,但看起来该标志只有在另一个应用程序对该设备具有独占锁时才会存在。
是否可以确定应用程序当前是否正在从 OS X 上的 AVCaptureDevice 捕获音频?
您需要下降到较低级别的 CoreAudio
API。
检查 AudioHardware.h
中的 属性 kAudioDevicePropertyDeviceIsRunningSomewhere
。您可以在输入和输出设备上查询此 属性,它应该会为您提供所需的信息。