iPhone SDK audioSession问题

Mor*_*ion 6 iphone audio session objective-c

在我的应用程序中,我同时录制和播放音频.该应用程序几乎完成.但是有一件事让我烦恼.当音频会话设置为PlayAndRecord时,与SoloAmbient类别的相同声音相比,声音变得安静.有没有什么方法可以使用PlayAndRecord让声音更响亮?

Ara*_*and 7

当您使用会话进行播放和录制时,播放来自用于电话的扬声器,否则它会从位于电话底部的扬声器发出.这是为了防止反馈.你可以像这样覆盖它(但要小心反馈,如果你不同时做两件事,那就不要问题)

    //when the category is play and record the playback comes out of the speaker used for phone conversation to avoid feedback
    //change this to the normal or default speaker

    UInt32 doChangeDefaultRoute = 1;        
    AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof (doChangeDefaultRoute), &doChangeDefaultRoute);
Run Code Online (Sandbox Code Playgroud)

这段代码适用于3.1.2,早期的sdk你必须做的不同.

    UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; 
    status = AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute, sizeof (audioRouteOverride), &audioRouteOverride);
Run Code Online (Sandbox Code Playgroud)

您必须小心这种方法,即使您插入了耳机,它也会覆盖,您必须监控中断并相应地更改路线.现在使用3.1.2好多了