当我的应用程序 - bit.ly/totoyaApp - 出现在前台时,我设置:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRouteOverride), &audioRouteOverride);
当它进入后台时,我重置为:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRouteOverride), &audioRouteOverride);
它需要在每台设备上正确输出/输入声音。
但是当我多任务返回我的应用程序时,有时它会被静音,并且没有任何音频输出。仅在多任务处理时(!),并且仅来自特定应用程序(!)。如果我关闭一个正在运行的应用程序,然后再次启动,一切正常。
有没有类似的经历?这到底是怎么回事?