//
|
// AudioHelper.m
|
// VoipTest
|
//
|
// Created by StevStark on 2020/11/11.
|
//
|
|
#import "HDLAudioHelper.h"
|
|
@implementation HDLAudioHelper
|
|
+ (NSArray *)bluetoothRoutes {
|
return @[AVAudioSessionPortBluetoothHFP, AVAudioSessionPortCarAudio, AVAudioSessionPortBluetoothA2DP, AVAudioSessionPortBluetoothLE ];
|
}
|
|
+ (AVAudioSessionPortDescription *)bluetoothAudioDevice {
|
return [HDLAudioHelper audioDeviceFromTypes:[HDLAudioHelper bluetoothRoutes]];
|
}
|
|
+ (AVAudioSessionPortDescription *)builtinAudioDevice {
|
NSArray *builtinRoutes = @[ AVAudioSessionPortBuiltInMic ];
|
return [HDLAudioHelper audioDeviceFromTypes:builtinRoutes];
|
}
|
|
+ (AVAudioSessionPortDescription *)speakerAudioDevice {
|
NSArray *builtinRoutes = @[ AVAudioSessionPortBuiltInSpeaker ];
|
return [HDLAudioHelper audioDeviceFromTypes:builtinRoutes];
|
}
|
|
+ (AVAudioSessionPortDescription *)audioDeviceFromTypes:(NSArray *)types {
|
NSArray *routes = [[AVAudioSession sharedInstance] availableInputs];
|
for (AVAudioSessionPortDescription *route in routes) {
|
if ([types containsObject:route.portType]) {
|
return route;
|
}
|
}
|
return nil;
|
}
|
|
@end
|