当音频正在播放时更改音频路由

5

我有一个使用AVAudioPlayer播放的音频文件,当用户按下按钮播放音频时,我希望能在设备接收器或扬声器上播放声音。我该怎么做?目前,它只会在开始播放音频之前选择的位置播放。

3个回答

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

我认为苹果不会批准这个。 - user1286653
请注意,此方法现已弃用(自iOS 6起)。 - CupawnTae

2

iOS 6及以上版本

NSError* error;

AVAudioSession* session = [AVAudioSession sharedInstance];

[session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&error];

1
你可以将MPVolume控件(文档链接)添加到用户界面,并设置showsVolumeSlider = NO和showsRouteButton = YES。
用户将会有一个“路由”按钮,以将音频路由到他们选择的设备。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接