在Flutter应用中,我正在尝试向Google Speech-To-Text API发送简短的语音输入。因此,必须将其编码为Base64-String。编码并发送请求后,错误消息说音频超出了持续时间限制,尽管API至少应接受1分钟的音频。当我播放音频时,它只会持续几秒钟。
使用flutter_sound包记录音频文件,并对其进行AMR-WB编码,使其适合请求配置中的编码。
String encodeAudioFile(String filePath) {
print("Read file");
File audioFile = new File(filePath);
List<int> audioBytes = audioFile.readAsBytesSync();
String audioBase64 = base64Encode(audioBytes);
print("Audio file encoded");
return audioBase64;
}
实际错误消息:
error: {code: 400, message: Inline audio exceeds duration limit. Please use a GCS URI., status: INVALID_ARGUMENT}
由于音频文件只需要几秒钟,因此不必使用所示的Google Cloud Storage。
感谢您的帮助和时间