我正在使用以下代码播放录音。在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];
}

最佳答案

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

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

关于ios6 - AVAudioPlayer直接连接到扬声器/耳机,而不是听筒iOS 7,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19235208/

10-13 04:36