设置音频类别,ios时闪烁红色状态栏

时间:2013-12-19 16:42:41

标签: ios audio avaudiosession

我正在创建一个使用google webrtc API的应用。当我将两个设备连接到会话时。我启用音频通道,以便他们可以通过设备进行通话。我知道在webrtc库中,他们已经将sessionMode设置为VoiceChat,但是我必须将类别设置为playAndRecord,因为当有人在应用程序处于后台时调用时,我想播放一个ringTone声音。 / p>

因此,当我将audioSessionCatogory设置为PlayAndRecord时,应用程序将冻结并且状态栏将在建立连接之前闪烁红色一段时间。

我尝试不自行设置类别,一切正常,但我真的需要这样做才能实现我的应用目标。

有谁知道问题可能是什么?我不知道在webrtc设置时我是否设置了类别的问题,或者我设置catergory的代码不正确。

所以这是我用来改变catergory的代码。

UInt32 value = kAudioSessionCategory_PlayAndRecord;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(value), &value);

value = YES;

AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof(value), &value);
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(value), &value);

value = kAudioSessionMode_VoiceChat;

AudioSessionSetProperty(kAudioSessionProperty_Mode, sizeof(value), &value);

AudioSessionSetActive(YES);

我尝试使用AVAudioSession类intead,但这并不是我想要的方式,所以我使用它。这可能是线程问题吗?此代码是否需要在指定线程中运行?

此外,当我切换类别时,我收到此错误:

ERROR:     [0x8731000] >aurioc> 1455: AURemoteIO@0x17dbb020: 
IOThread exiting with error 0x10004006

感谢您的帮助

0 个答案:

没有答案