我正在學習如何構建OSX應用程序,我在想是否有方法檢查是否有任何應用程序正在輸出某些音頻系統?謝謝OSX:使用Core Audio檢測音頻是否通過揚聲器播放
2
A
回答
0
這不能在用戶應用程序級別完成。這可能通過安裝OS X kext(內核擴展)或自定義音頻設備驅動程序來實現,該驅動程序需要sudo權限並可能需要重啓。
0
我認爲這可以使用kAudioDevicePropertyDeviceIsRunningSomewhere
屬性進行檢查。
從頭部DOC:
A UInt32 where 1 means that the AudioDevice is running in at least one process on the system and 0 means that it isn't running at all.
僞-Y代碼:
bool isRunningSomewhere(AudioDeviceID deviceId) {
uint32 val;
uint32 size = sizeof(val);
AudioObjectPropertyAddress pa = { kAudioDevicePropertyDeviceIsRunningSomewhere, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
AudioObjectGetPropertyData(deviceId, &pa, 0, NULL, &size, &val);
return val == 1;
}
這應該告訴你,如果正在使用的設備(即具有活動IOProc
)。但不會告訴你IOProc
是否只是發送沉默。
相關問題
- 1. 無法通過揚聲器播放視頻音頻 - iOS
- 2. 音頻文件:僅通過一個揚聲器播放數據?
- 3. 從麥克風播放音頻通過揚聲器
- 4. 通過iPhone揚聲器強制播放音頻文件?
- 5. iPhone音頻播放:通過內部揚聲器強制?
- 6. Windows Phone 8.1通過揚聲器播放音頻數據流?
- 7. 是否可以通過Rtmidi音頻驅動器播放聲音?
- 8. 通過耳機播放音樂時播放揚聲器
- 9. 使exoPlayer 2.0通過揚聲器播放
- 10. 我可以使用手機通過聽筒揚聲器播放音頻嗎?
- 11. MPMoviePlayerController拒絕通過iOS4中的揚聲器播放聲音
- 12. 即使耳機插入,如何通過藍牙揚聲器播放音頻?
- 13. 使用Java或Javascript播放BIOS聲音(使用PC揚聲器)
- 14. Blackberry如何使用設備的揚聲器播放聲音(短[])?
- 15. 使用Android AudioTrack播放左右揚聲器聲音
- 16. iOS快速播放音頻到多個藍牙揚聲器
- 17. 在免提通話期間通過電話揚聲器播放聲音
- 18. 使用Uri通過媒體播放器播放音頻剪輯
- 19. 如何將WAV音頻文件轉換爲Core Audio播放?
- 20. 爲了讓音頻能夠通過Arduino通過PC揚聲器播放,我需要添加些什麼?
- 21. 通過頻道分析Flash播放器中的聲音11
- 22. 如何通過呼叫接收器揚聲器播放AVSpeechSynthesizer?
- 23. 音頻從左揚聲器,然後從右揚聲器
- 24. 檢測是否有任何音頻播放
- 25. 在iOS 5中,如何使用AudioSession確保通過揚聲器播放音頻,儘管耳機已插入?
- 26. 檢測聲音是否正在播放/管理切換按鈕
- 27. 如何在不同的揚聲器上播放聲音?
- 28. 播放聲音的內置揚聲器,而在Android中
- 29. 檢測音頻文件是否正在播放 - iphone
- 30. 檢測音頻是否已停止播放
非常感謝,今晚我會嘗試一下,回到你身邊。 – user2539621