javascript - 将音频文件传递给 Assistant SDK
问题描述
我正在尝试使用 Node.js 将音频文件传递给 Google Assistant SDK,特别是这个库:https ://github.com/endoplasmic
我的音频文件是 wav,格式如下:
{ audioFormat: 1,
endianness: 'LE',
channels: 1,
sampleRate: 24000,
byteRate: 48000,
blockAlign: 2,
bitDepth: 16,
signed: true }
我要做的是创建 wav 文件的 readFile 并将其写入助手对话,如下所示:
fs.readFile(`${path.resolve(__dirname, 'response.wav')}`, (err, file) => {
if(err) console.log(err)
assistant.start(global.config.conversation, (conversation) => {
conversation.write(file)
return self.startConversation(conversation)
.then((data) => {
console.log(data)
//resolve(data)
})
.catch((err) => {
console.log(err)
//reject(err)
})
});
我遇到的问题是它什么也没有发生。如果即使尝试
.on('end-of-utterance', () => {
console.log("Done speaking")
})
.on('transcription', (data) => {
console.log(data)
})
但这里也没有任何记录。最终它会记录一个错误:
错误:服务不可用。在 ClientDuplexStream._emitStatusIfDone (/Users/Greg/Documents/Projects/st-gassist/node_modules/grpc/src/client.js:255:19) 在 ClientDuplexStream._receiveStatus (/Users/Greg/Documents/Projects/st-gassist/ node_modules/grpc/src/client.js:233:8) 在 /Users/Greg/Documents/Projects/st-gassist/node_modules/grpc/src/client.js:757:12 代码:14,元数据:元数据 { _internal_repr : {} }
有谁知道我该如何传递这个音频文件?我想传递一个音频文件,因为它是预先录制的消息,是录制麦克风的替代方法
解决方案
推荐阅读
- android - 为什么 Firebase Google 登录需要 API 密钥?
- python - Discord.py - 尝试加载特定的 cog
- python - 将文本数据预处理为整数索引(如 tensorFlow 文本分类示例中的 imdb 数据集)
- angular - 在角材料中共享一个组件或使用多个组件?
- hadoop - Hadoop Nodemanager 失败并出现错误无法获取组信息
- azure - AAD 登录引发 NotImplementedException
- go - 将默认值设置为自定义序列
- javascript - 查找以两位数字和一个字母开头的字符串
- swift - 我想知道印刷中的分隔符和终结符有什么不同?
- java - 如何在 Java 中进行 SAML SSO 重定向