【发布时间】:2013-11-27 11:17:30
【问题描述】:
我正在编写一个将音频切换到扬声器的函数:
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
但是当我尝试使用这个将它切换回耳机时:
UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
此代码在 iPhone 中运行良好,但在 iPad 中无法从扬声器切换到耳机,任何人都可以指导有什么区别吗?
【问题讨论】:
-
您不应该停用会话以更改属性,然后重新激活吗?您是否尝试过使用 AVAudioSession API? c-api 已弃用。你在这两个设备上运行的是什么版本的 iOS?
-
两者都运行 iOS7
标签: ios objective-c ipad avaudiosession