当持续时间实际上不太长时,如何解决“内嵌音频超出持续时间限制”

时间:2019-07-18 08:18:50

标签: audio flutter audio-recording speech-to-text google-speech-api

在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。

感谢您的帮助和时间

0 个答案:

没有答案