forked from mirrors/linphone-iphone
41 lines
1 KiB
Objective-C
41 lines
1 KiB
Objective-C
//
|
|
// AudioHelper.m
|
|
// linphone
|
|
//
|
|
// Created by REIS Benjamin on 01/03/2017.
|
|
//
|
|
//
|
|
|
|
#import "AudioHelper.h"
|
|
|
|
@implementation AudioHelper
|
|
|
|
+ (NSArray *)bluetoothRoutes {
|
|
return @[ AVAudioSessionPortBluetoothA2DP, AVAudioSessionPortBluetoothLE, AVAudioSessionPortBluetoothHFP ];
|
|
}
|
|
|
|
+ (AVAudioSessionPortDescription *)bluetoothAudioDevice {
|
|
return [AudioHelper audioDeviceFromTypes:[AudioHelper bluetoothRoutes]];
|
|
}
|
|
|
|
+ (AVAudioSessionPortDescription *)builtinAudioDevice {
|
|
NSArray *builtinRoutes = @[ AVAudioSessionPortBuiltInMic ];
|
|
return [AudioHelper audioDeviceFromTypes:builtinRoutes];
|
|
}
|
|
|
|
+ (AVAudioSessionPortDescription *)speakerAudioDevice {
|
|
NSArray *builtinRoutes = @[ AVAudioSessionPortBuiltInSpeaker ];
|
|
return [AudioHelper 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
|