首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone SDK audioSession问题

iPhone SDK audioSession问题
EN

Stack Overflow用户
提问于 2009-10-23 21:45:17
回答 2查看 4.4K关注 0票数 6

在我的应用程序中,我同时录制和播放音频。这个应用程序就快完成了。但有一件事让我很恼火。当音频会话设置为PlayAndRecord时,与SoloAmbient类别的相同声音相比,声音会变得安静。有没有办法用PlayAndRecord让声音变得更响亮?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-27 20:27:14

使用会话进行播放和录音时,播放将从电话使用的扬声器中播放,否则将从电话底部的扬声器中播放。这是为了防止反馈。你可以像这样覆盖它(但要注意反馈,如果你不同时做这两件事,那就不是问题)

代码语言:javascript
复制
    //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);

这段代码在3.1.2版本的sdk上运行,你必须做一些不同的事情。

代码语言:javascript
复制
    UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; 
    status = AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute, sizeof (audioRouteOverride), &audioRouteOverride);

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

票数 7
EN

Stack Overflow用户

发布于 2010-01-23 21:49:07

让用户插上耳机?

耳机+麦克风组合不会受到这个问题的影响。

我不知道这是一个bug,还是音频硬件的结果,或者静音回放只是为了获得更清晰的录音的一种故意和笨拙的方式。

更新

我发现设置PlayAndRecord会话会改变到接收器的音频路由。

显然,这种用例适用于用户将设备举到耳朵上的电话应用程序。

如果这不违反最小惊讶原则,我不知道什么会违反。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1613556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档