setIosAudioCategory method
Future
setIosAudioCategory(
- IosTextToSpeechAudioCategory category,
- List<
IosTextToSpeechAudioCategoryOptions> options, [ - IosTextToSpeechAudioMode mode = IosTextToSpeechAudioMode.defaultMode
Future which invokes the platform specific method for setting audio category Ios supported only
Implementation
Future<dynamic> setIosAudioCategory(IosTextToSpeechAudioCategory category,
List<IosTextToSpeechAudioCategoryOptions> options,
[IosTextToSpeechAudioMode mode =
IosTextToSpeechAudioMode.defaultMode]) async {
const categoryToString = <IosTextToSpeechAudioCategory, String>{
IosTextToSpeechAudioCategory.ambientSolo: iosAudioCategoryAmbientSolo,
IosTextToSpeechAudioCategory.ambient: iosAudioCategoryAmbient,
IosTextToSpeechAudioCategory.playback: iosAudioCategoryPlayback
};
const optionsToString = {
IosTextToSpeechAudioCategoryOptions.mixWithOthers:
'iosAudioCategoryOptionsMixWithOthers',
IosTextToSpeechAudioCategoryOptions.duckOthers:
'iosAudioCategoryOptionsDuckOthers',
IosTextToSpeechAudioCategoryOptions.interruptSpokenAudioAndMixWithOthers:
'iosAudioCategoryOptionsInterruptSpokenAudioAndMixWithOthers',
IosTextToSpeechAudioCategoryOptions.allowBluetooth:
'iosAudioCategoryOptionsAllowBluetooth',
IosTextToSpeechAudioCategoryOptions.allowBluetoothA2DP:
'iosAudioCategoryOptionsAllowBluetoothA2DP',
IosTextToSpeechAudioCategoryOptions.allowAirPlay:
'iosAudioCategoryOptionsAllowAirPlay',
IosTextToSpeechAudioCategoryOptions.defaultToSpeaker:
'iosAudioCategoryOptionsDefaultToSpeaker',
};
const modeToString = <IosTextToSpeechAudioMode, String>{
IosTextToSpeechAudioMode.defaultMode: iosAudioModeDefault,
IosTextToSpeechAudioMode.gameChat: iosAudioModeGameChat,
IosTextToSpeechAudioMode.measurement: iosAudioModeMeasurement,
IosTextToSpeechAudioMode.moviePlayback: iosAudioModeMoviePlayback,
IosTextToSpeechAudioMode.spokenAudio: iosAudioModeSpokenAudio,
IosTextToSpeechAudioMode.videoChat: iosAudioModeVideoChat,
IosTextToSpeechAudioMode.videoRecording: iosAudioModeVideoRecording,
IosTextToSpeechAudioMode.voiceChat: iosAudioModeVoiceChat,
IosTextToSpeechAudioMode.voicePrompt: iosAudioModeVoicePrompt,
};
if (!Platform.isIOS) return;
try {
return await _channel
.invokeMethod<dynamic>('setIosAudioCategory', <String, dynamic>{
iosAudioCategoryKey: categoryToString[category],
iosAudioCategoryOptionsKey:
options.map((o) => optionsToString[o]).toList(),
iosAudioModeKey: modeToString[mode],
});
} on PlatformException catch (e) {
print(
'setIosAudioCategory error, category: $category, mode: $mode, error: ${e.message}');
}
}