AVAudioPlayer直接用于扬声器/耳机而不是耳机iOS 7

时间:2013-10-07 21:34:41

标签: ios6 ios7 avfoundation avaudioplayer

我使用以下代码播放录音。在iOS 6中,输出自动定向到扬声器/耳机。然而,在iOS 7中,音频被引导到耳机。 iOS 7中的AVAudioPlayer行为是否已更改?

    if (!recorder.recording){
    player = [[AVAudioPlayer alloc] initWithContentsOfURL:recorder.url error:nil];
    [player setDelegate:(id)self];
    [player prepareToPlay];
    [player play];
}

1 个答案:

答案 0 :(得分:0)

iOS 7只是更改默认值,现在音频默认路由到耳机。要更改默认值,请在代码中的任何位置插入此代码段,在实例化AVAudioPlayer之前或之后无关紧要。

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRouteOverride), &audioRouteOverride);