在 ios 上的应用程序中,我使用 flutter tts 进行音频输出,使用 语音转文本 进行输入。仅当 STT 初始化时,音量才会非常低,因为音频来自听筒而不是扬声器。
我已经尝试过不同的类别iOS 上的 Flutter 文本转语音低音量。但一切都没有改变。
在android上我还无法测试它,因为我还没有弄清楚为什么我无法初始化STT。
我的代码:
final FlutterTts tts = FlutterTts();
final SpeechToText stt = SpeechToText();
void onInit() {
Wakelock.enable().then((_) async => print(await Wakelock.enabled)); //keep the device screen awake
initTts();
initStt();
}
void initTts() async {
await tts.setLanguage("de-DE");
await tts.setVolume(1.0);
await tts.setIosAudioCategory(IosTextToSpeechAudioCategory.playAndRecord, [
IosTextToSpeechAudioCategoryOptions.mixWithOthers
]);
speakWelcomeText();
}
void initStt() async {
await stt.initialize(
onStatus: (val) => print('[stt] onStatus: $val'),
onError: (val) => print('[stt] onError: $val'),
);
}
`
``
我的解决方案是致电:
await flutterTts.setIosAudioCategory(
IosTextToSpeechAudioCategory.playAndRecord,
[IosTextToSpeechAudioCategoryOptions.defaultToSpeaker],
);
每次之前
await flutterTts.speak(text);
这似乎有效!