2011-11-18 138 views
3

我正在研究在OsX上播放音頻的應用程序。我可以用CodeAudio列出可用的輸出設備,但我遇到藍牙耳機問題;即使設備已關閉但未連接,它仍會列在OsX聲音預設窗格中,因此CoreAudio會將其作爲有效輸出。 我想而不是顯示藍牙輸出,如果相應的設備尚未連接。如何檢測Mac OS X中是否連接了藍牙音頻設備?

我已經試過檢查像CoreAudio的屬性:

kAudioDevicePropertyDeviceIsAlive kAudioDevicePropertyDeviceIsRunning kAudioDevicePropertyDeviceIsRunningSomewhere

但有默認的輸出和藍牙輸出之間沒有什麼區別。

Coreaudio可以檢測到這種檢測嗎?

+0

我也想知道這一點。您可能已經看到了這個:http://lists.apple.com/archives/coreaudio-api/2010/Oct/msg00171.html –

回答

0

對於未來搜索的好處我已經在過去做的方式是:

  • 枚舉檢測設備
  • 查詢的kAudioDevicePropertyTransportType屬性每個AudioDeviceID 這將返回一個傳輸類型ID常量。
  • 匹配的 kAudioDeviceTransportTypeBluetoothkAudioDeviceTransportTypeBluetoothLE

這樣,你可以決定連接的設備正在使用(USB,火線等)的類型。你可以找到運輸類型的完整列表AudioHardwareBase.h