2011-06-04 60 views
0

我遇到了GKVoiceChat的問題。整個音頻設置都是在沒有錯誤的情況下執行的,我可以用GKMatch對象成功創建GKVoiceChat對象。當我開始使用「開始」方法的語音聊天我語音聊天對象,控制檯打印iOS:啓動GKVoiceChat時發出的問題

AURemoteIO::Initialize failed: 'init' (enable 3, outf< 1 ch, 16000 Hz, 'lpcm' (0x0000002C) 16-bit little-endian signed integer, deinterleaved> inf< 1 ch, 16000 Hz, 'lpcm' (0x0000000C) 16-bit little-endian signed integer>) 

谷歌沒有透露任何關於此錯誤是有用的。有沒有人遇到過這個,知道這裏出了什麼問題?在iPhone 4和iPad 2上表現相同。

編輯:其他發現:我還將AmbientSound屬性設置爲尊重其他音頻(音樂,聲音)的靜音開關,並且這似乎是導致問題。當初始化音頻服務時,我也在運行此代碼:

SInt32 ambient = kAudioSessionCategory_SoloAmbientSound; 
if (AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (ambient), &ambient)) { 
    NSLog(@"Error setting ambient property"); 
} 

當我對此進行評論時,語音聊天運行良好。然而,靜音開關不再受到尊重。

我該怎麼做?

感謝,habitoti

回答

0

右鍵從文件 - iOS設備有6個音頻會話類的是3的影響Slient開關的行爲:

AVAudioSessionCategoryAmbient或等值kAudioSessionCategory_AmbientSound-使用此類別,您的音頻靜音通過Ring/Silent開關和屏幕鎖定時。當我們想要我們的應用程序音頻與內置的應用程序音頻

AVAudioSessionCategorySoloAmbient或等效的kAudioSessionCategory_SoloAmbientSound-使用此類別的應用程序,當用戶將Ring/Silent開關切換到「無聲」位置時其音頻要沉默的應用程序和當屏幕鎖定時。這是默認分類

AVAudioSessionCategoryPlayback或等效的kAudioSessionCategory_MediaPlayback-對於音頻播放最重要的應用程序使用此類別。即使屏幕鎖定並且Ring/Silent開關設置爲無聲,您的音頻也會播放。