2012-11-24 33 views
36

我正在嘗試使用IOBluetooth framework上的OS X 10.8.2與支持藍牙功能的電話連接,將電腦仿真爲免提設備。我可以成功與手機建立連接,手機可以將連接識別爲連接到手機的免提。 但是,當我嘗試使用手機撥打電話並想要將音頻發送到Mac時(通過將來源選爲免提),音頻永遠不會到達計算機。無法打開與電話的SCOAudio連接

由於此時藍牙框架試圖用設備打開SCO Audio connection,但連接建立從未成功,我得到錯誤代碼0x0D狀態代碼處於scoConnectionOpened狀態。

我使用IOBluetoothAddSCOAudioDevice函數將SCO音頻設備連接到藍牙設備,並且它始終成功。

//btDevice is paired 
res=IOBluetoothAddSCOAudioDevice((IOBluetoothDeviceRef) btDevice,NULL); 
if(res != kIOReturnSuccess) 
{ 
    self.error.title = [NSString stringWithFormat: 
     @"Could not attach the Audio device. Try paring device again"]; 
} 

控制檯日誌說

24/11/2012 4:02:13.000 PM kernel[0]: [SendHCIRequestFormatted] ### ERROR: [0x0428] (Setup Synchronous Connection) -- Send request failed (err = 0x000D (kBluetoothHCIErrorHostRejectedLimitedResources))

24/11/2012 4:02:13.000 PM kernel[0]: REQUIRE_NO_ERR failure: 0xd - file: /SourceCache/IOBluetoothFamily_kexts/IOBluetoothFamily-4090.4.33/Core/Family/Drivers/IOBluetoothSCOAudioDriver/IOBluetoothSCOAudioDevice.cpp:872

雖然控制檯日誌中說,資源有限,但我以他們的電池多部手機全試了一下。

我難住這個,只是想如果我需要做任何特別的或不同的事情?

非常感謝您的幫助。

+0

嘿,你能解決這個問題嗎?因爲我的應用需要類似的功能。 – Daniel

+0

暫時還沒有:-(我在這個問題上停留了很長一段時間,SCO Audio在OS/X上的表現並不一致,而且我無法解決這個問題 –

回答

1

此錯誤(「由於資源受限導致連接被拒絕」)通常發生在將T2請求發送給僅限T1的SCO偵聽器時。如果你閱讀第5版的補丁說明,你可以得到關於這個問題的討論linux-bluetooth v5 patch notes