播放音频时改变音频路线

时间:2012-09-11 23:57:58

标签: ios objective-c audio avaudioplayer

我有一个使用avaudioplayer播放的音频文件,我想能够在用户按下按钮时播放音频时在设备接收器或扬声器上播放声音。我怎样才能做到这一点 ?目前它只播放音频开始播放前选择的任何内容。

3 个答案:

答案 0 :(得分:6)

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
OSStatus result = AudioSessionSetProperty( kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRouteOverride), &audioRouteOverride );
Assert(result == kAudioSessionNoError);

答案 1 :(得分:2)

iOS 6+版

NSError* error;

AVAudioSession* session = [AVAudioSession sharedInstance];

[session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&error];

答案 2 :(得分:1)

您可以将MPVolume控件(link to documentation)添加到您的用户界面,并设置showsVolumeSlider = NO和showsRouteButton = YES。

用户将有一个路由按钮,用于将音频路由到他们选择的设备。