首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >名为SpeakHere的苹果演示iPhone应用程序不会对kAudioSessionOverrideAudioRoute_None做出回应

名为SpeakHere的苹果演示iPhone应用程序不会对kAudioSessionOverrideAudioRoute_None做出回应
EN

Stack Overflow用户
提问于 2010-08-28 10:52:44
回答 1查看 643关注 0票数 0

我正在试用苹果的示例应用程序SpeakHere,我想通过免提扬声器而不是耳机扬声器来收听。

我可以使用以下代码打开免提扬声器:

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

但在那之后,应用程序将不再录制。它冻结了。这段代码没有任何用处:

代码语言:javascript
复制
    UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
    AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);    
    UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
    AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride); 

天哪,如果你能用顶级代码打开扬声器,你应该也能用其他代码把它关掉。秘诀是什么?

EN

回答 1

Stack Overflow用户

发布于 2010-08-28 14:22:34

您是否正在尝试在音频队列运行时执行此操作?或者您之前停止了音频队列,并在更改音频会话后重新启动了它?

您是否查看了所有音频会话和音频队列调用的错误返回值,以查看是否报告了错误?如果是这样,误差值是多少?

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

https://stackoverflow.com/questions/3589256

复制
相关文章

相似问题

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