如何解决从 dart 向 wit.ai 发送分块音频请求
我希望使用 wit.ai 进行语音识别。这是我用来发布音频文件的发布方法。
Future<http.Response> post(
String path,File file,) async {
final client = http.Client();
try {
final uri = Uri.parse('https://api.wit.ai/$path');
final len = file.lengthSync();
final request = http.StreamedRequest('POST',uri)
..headers.addAll({
'Authorization': 'Bearer $api_key','Content-Type': 'audio/wav','transfer-encoding': 'chunked'
})
..contentLength = len;
file.openRead().listen((chunk) {
request.sink.add(chunk);
},onDone: () {
print('done');
request.sink.close();
});
final res = await request.send().then(http.Response.fromStream);
return res;
} catch (e) {
rethrow;
} finally {
client.close();
}
}
Wit.ai 似乎将音频长度限制为 20 秒。因此,我尝试发送分块请求。我以前从未处理过分块请求,我希望它发送较小的块并分别获得每个块的响应流。但似乎请求只发送一次,我仍然收到超出音频长度的错误。 我做错了什么,是否有可能从机智语音 api 获取长度超过 20 秒的音频文本?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。