2016-09-19 52 views

回答

3

有沒有辦法檢測我的Mac麥克風何時被使用?

簡單的答案 - 是的,但它並不容易!

這可以在可可嗎?

由於文檔狀態: -

可可應用層是應用程序的外觀和他們的響應用戶的操作主要負責

所以這並不包括麥克風,如果是這樣,它會是你想要的水平太高。

有關如何執行此操作的詳細答案對於堆棧溢出而言非常複雜且過於寬泛。然而,爲了使你動身了正確的方向,你需要創建一個IOKit內核擴展驅動器(KEXT)和具有的I/O Registry

1

一個很好的理解這是不是一個真正的Objective-C的或可可的解決方案,但如果你願意做一個子打電話,試試這個:

ioreg -c AppleHDAEngineInput | grep IOAudioEngineState 

你會看到"IOAudioEngineState" = 1當音頻輸入有效。

此外,請嘗試搜索IOAudioEngineNumActiveUserClients,其中每個應用程序都會爲音頻添加一個。

+0

我剛剛發現這可能只適用於內部/內置麥克風......使用藍牙音頻設備時,IOAudioEngineState保持爲零。 – kgutwin