halkyon/third_party/flutter_tts/ios/Classes/AudioModes.swift

63 lines
1.5 KiB
Swift
Raw Normal View History

import AVFoundation
enum AudioModes: String {
case iosAudioModeDefault
case iosAudioModeGameChat
case iosAudioModeMeasurement
case iosAudioModeMoviePlayback
case iosAudioModeSpokenAudio
case iosAudioModeVideoChat
case iosAudioModeVideoRecording
case iosAudioModeVoiceChat
case iosAudioModeVoicePrompt
func toAVAudioSessionMode() -> AVAudioSession.Mode? {
switch self {
case .iosAudioModeDefault:
if #available(iOS 12.0, *) {
return .default
}
return nil
case .iosAudioModeGameChat:
if #available(iOS 12.0, *) {
return .gameChat
}
return nil
case .iosAudioModeMeasurement:
if #available(iOS 12.0, *) {
return .measurement
}
return nil
case .iosAudioModeMoviePlayback:
if #available(iOS 12.0, *) {
return .moviePlayback
}
return nil
case .iosAudioModeSpokenAudio:
if #available(iOS 12.0, *) {
return .spokenAudio
}
return nil
case .iosAudioModeVideoChat:
if #available(iOS 12.0, *) {
return .videoChat
}
return nil
case .iosAudioModeVideoRecording:
if #available(iOS 12.0, *) {
return .videoRecording
}
return nil
case .iosAudioModeVoiceChat:
if #available(iOS 12.0, *) {
return .voiceChat
}
return nil
case .iosAudioModeVoicePrompt:
if #available(iOS 12.0, *) {
return .voicePrompt
}
return nil
}
}
}