2012-08-28 28 views
1

在我們的系統中,我們有一個Rails服務器發起一個到iphone設備和固定電話的電話會議。當我們的iPhone應用程序在應用程序處於後臺時收到來電時,我們會看到一系列有關AURemoteIO初始化失敗的錯誤消息。這些錯誤如下:AURemoteIO - 在iOS 5.1上使用Twilio在後臺接受來電VOIP電話

<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 16000 Hz, Int16> inf< 1 ch, 16000 Hz, Int16>) 
<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 44100 Hz, Int16> inf< 1 ch, 44100 Hz, Int16>) 
<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>) 
<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 32000 Hz, Int16> inf< 1 ch, 32000 Hz, Int16>) 
<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 16000 Hz, Int16> inf< 1 ch, 16000 Hz, Int16>) 
<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 8000 Hz, Int16> inf< 1 ch, 8000 Hz, Int16>) 

從我們可以在日誌消息告訴,這發生在一些點後或didReceiveIncomingConnection回調過程中。下面是這個函數的代碼:

-(void)device:(TCDevice*)device didReceiveIncomingConnection:(TCConnection*)connection{ 
    if (_connection){ 
     [self disconnect]; 
    } 
    _connection = [connection retain]; 
    [_connection accept]; 
} 

不幸的是,我們永遠無法到達的connectionDidConnect功能。不過,這確實能夠正常工作。可悲的是,這是應用程序的一個必要條件(在後臺運行)。

我們有UIBackgroundMode設置爲位置VOIP,並音頻

有沒有人曾經遇到過這個問題?

回答

2

當應用程序在後臺時,無法打開音頻設備。

callback

-(void)device:(TCDevice*)device didReceiveIncomingConnection:(TCConnection*)connection 

通話,你應該提出一個UILocalNotification給用戶,告訴他們有一個來電,那麼一旦用戶「打開」的通知(從而把應用程序到前臺)您應該然後調用:

[_connection accept]; 
+0

啊哈,疑難雜症。這是我們所懷疑的。非常感謝您的幫助! –