2016-09-19 17 views

答えて

3

Macのマイクが使用中であることを検出する方法はありますか?

簡単な回答 - はい、簡単ですね。

これはココアで実行できますか?ドキュメントの状態として

: -

Cocoaアプリケーション層は、ユーザのアクションにアプリケーションの外観とその応答の主な原因である

だから、これはカバーしていません。それができれば、あなたが望むものには高すぎるレベルになります。

これを行う方法に関する詳細な回答は、スタックオーバーフローに対して複雑で広すぎます。しかし、正しい方向にあなたをオフに設定するには、IOKitカーネル拡張ドライバ(KEXT)を作成し、これは本当にのObjective-CやCocoaのソリューションではありませんI/O Registry

1

をよく理解しておく必要がありますが、もしあなたは、サブプロセスの呼び出しを行うために喜んでいる、これを試してみてください。

ioreg -c AppleHDAEngineInput | grep IOAudioEngineState 

オーディオ入力がアクティブであるときは、"IOAudioEngineState" = 1が表示されます。

また、オーディオを取り込むアプリごとに1つずつ増加するIOAudioEngineNumActiveUserClientsを検索してみてください。

+0

これは、内部/内蔵マイクにのみ適用される可能性があることを発見しました.Bluetoothオーディオデバイスを使用している場合、IOAudioEngineStateはゼロのままです。 – kgutwin

関連する問題