小编Mic*_*uan的帖子

iOS - 切换手​​机、手机扬声器、耳机或蓝牙设备的音频输出

我正在做一个关于视频和音频聊天的项目。音频输出有很多种类型,苹果在开发文档中列出了:

/* output port types */
NSString *const AVAudioSessionPortLineOut;
NSString *const AVAudioSessionPortHeadphones;
NSString *const AVAudioSessionPortBuiltInReceiver;
NSString *const AVAudioSessionPortBluetoothA2DP;
NSString *const AVAudioSessionPortBuiltInSpeaker;
NSString *const AVAudioSessionPortHDMI;
NSString *const AVAudioSessionPortAirPlay;
NSString *const AVAudioSessionPortBluetoothLE;

/* port types that refer to either input or output */
NSString *const AVAudioSessionPortBluetoothHFP;
NSString *const AVAudioSessionPortUSBAudio;
NSString *const AVAudioSessionPortCarAudio;
Run Code Online (Sandbox Code Playgroud)

如果现在我找到三种音频输出类型:iPhone扬声器、iPhone内置扬声器和蓝牙设备,如何切换彼此的输出?

我使用下面的代码将音频输出从蓝牙设备更改为扬声器。它有效:

[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];
Run Code Online (Sandbox Code Playgroud)

我使用下面的代码将音频从其他类型更改为蓝牙,它也有效:

NSArray *availInputs = [[AVAudioSession sharedInstance] availableInputs];
int count = [availInputs count];
for (int i = 0; i < count; i++)
{
    AVAudioSessionPortDescription* inPort …
Run Code Online (Sandbox Code Playgroud)

audio bluetooth ios avaudiosession

5
推荐指数
0
解决办法
1267
查看次数

标签 统计

audio ×1

avaudiosession ×1

bluetooth ×1

ios ×1