您的位置:首页 > 移动开发 > IOS开发

关于iOS通过扬声器播放声音的问题。

2011-12-15 09:52 1831 查看
用AVAudioPlayer播放声音,结果声音是从听筒里出来,而不是扬声器,插了耳机就从耳机出。

ok,解决办法如下:

添加AudioToolbox这个Framework,然后添加如下代码:

UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;

AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;

AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);

注意:这里由于我的代码里已经写了:

AVAudioSession * audioSession = [AVAudioSession sharedInstance];

[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error: &error];

所以,我并没有写前两行代码,结果也可以运行。别问为什么,我也不知道我为什么我不写那两行,just follow my fcking heart bitch。。。(请陈老师讲讲。。)

运行!成功从扬声器发出声音!而且成功过头了!插了耳机扬声器也发生!怎么办?改成如下:

AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,sizeof (audioRouteOverride),&audioRouteOverride);

成功!完美!矮低的艾特必迟!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: