App的音频无法通过扬声器工作

时间:2012-06-06 20:00:13

标签: objective-c ios ipad avaudioplayer

我的应用程序中有一个奇怪的错误。我正在使用AVAudioPlayer播放声音(它的多个实例),声音通过耳机完美地工作,但使用没有耳机的应用程序不会产生扬声器发出的声音。所有音频片段都是AAC编码的。

我已尝试通过Objective-C API([AVAudioSession sharedInstance])和C API设置AVAudioSession属性,但这些选项似乎都不起作用。

3 个答案:

答案 0 :(得分:19)

接受的答案(在ios7中)对我不起作用,以下代码确实有效。 (我没有足够的评论点,将其作为单独的答案发布)

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
                                 withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker
                                       error:nil];

答案 1 :(得分:4)

iPhone上的问题 - 当声音非常低时 - 似乎它是从手机耳机里出来的(不是 耳机插孔而不是底部扬声器 - 更改为默认声音

//http://stackoverflow.com/questions/3104562/avaudiorecorder-avaudioplayer-sound-output-on-internal-speaker-how-to-chang


UInt32 doChangeDefaultRoute = 1;
AudioSessionSetProperty (
    kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,
    sizeof (doChangeDefaultRoute),
    &doChangeDefaultRoute
);

答案 2 :(得分:2)

对于那些使用PRIMARY KEY ...

的人

以下为我工作。

Swift Syntax