我正在尝试使用AWS Lex
实现机器人,在我的情况下(仅POC),浏览器无需代理即可直接请求AWS API,在POC中,我需要进行文字和音频bot对话,并由Lex
支持。
我正在使用aws-sdk
软件包,并且正在关注this官方文档。
对于文本而言,API可以很好地工作,并且我可以成功实现机器人对话,但是当我尝试发送音频时,它无法正常工作,或者由于格式错误而出现错误。
这是inputStream
格式的POST参数:
还需要根据提供的数据发送contentType
(在我的情况下为音频):
有谁知道我该如何使用JavaScript从用户麦克风获取此类数据?
我已经玩过navigator.getUserMedia
,navigator.mediaDevices.getUserMedia
,AudioContext
,recorder.onaudioprocess
,MediaRecorder
等,以获得上面inputStream
参数中提到的任何类型的数据,但实际上没有任何作用。
感谢帮助者!
最佳答案
完全不记得它是什么,但是直到它最终起作用之前,我都花了很多时间玩。
这是我从项目中提取的代码:gist.github.com/shlomisas/aab007c05c4aca648103312f060a8e5b。
我准备了一个Recorder包装器类,以使其更易于使用。
在文件末尾,您可以看到我如何与Lex SDK一起使用它。希望它能工作。
ps它是项目的一部分,因此也许您需要对其进行一些修改。
关于javascript - AWS LexRuntime API-发送音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43798712/