我编写了一个函数,它接受 2 个字符串(陈述、问题)并使用Google TTS大声朗读。
我正在使用该flutter_tts: ^1.3.0包并尝试setVoice将扬声器的声音更改为谷歌声音中支持的声音之一的方法:
这是我的代码:
Future _speak(statement, question) async {
flutterTts.setLanguage("cmn-CN");
flutterTts.setVoice("cmn-CN-Standard-B");
flutterTts.setSpeechRate(0.7);
await flutterTts.speak(statement + question);
}
Run Code Online (Sandbox Code Playgroud)
该函数在读取文本时起作用,但我在setVoice该方法上收到错误消息:
D/TTS (12461): Voice name not found: cmn-CN-Standard-B
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?谢谢你!
更新
我意识到我没有使用谷歌 TTS 服务,所以我这样做是为了实现男性和女性的声音。这段代码现在对我有用。
import 'dart:typed_data';
import 'package:http/http.dart' as http;
import 'dart:convert';
import 'package:path_provider/path_provider.dart';
import 'dart:io';
import 'package:audioplayers/audioplayers.dart';
var _apikey = "AIzaSyDWx34PZW0hjSpwExBo5bwrENvyRkLisBE";
AudioPlayer audioPlayer = AudioPlayer();
const String femalevoice = "cmn-CN-Standard-A";
const String malevoice = "cmn-CN-Standard-B";
Future<http.Response> texttospeech(String text, String voicetype) …Run Code Online (Sandbox Code Playgroud)