繁体   English   中英

用于语音转文本WebSocket的IBM Watson JavaScript SDK

[英]IBM Watson JavaScript SDK for Speech-To-Text WebSocket Issue

我正在编写Vue.js网络应用程序,并尝试访问Watson Speech-To-Text API。 我在文档中找到了使用JavaScript SDK(watson-speech)的非常简单的实现。 这是我正在使用的代码:

    execute () {
     var stream;
     fetch('/api/speech-to-text/token').then(function(response) {
       return response.text();
     }).then(function (token) {

       stream = WatsonSpeech.SpeechToText.recognizeFile({
         token: token,
         file: document.querySelector('#audiofile').files[0],
         play: true, // play the audio out loud
         outputElement: '#output', // CSS selector or DOM Element (optional)
         }
       });

       stream.on('error', function(err) {
           console.log(err);
       });

     }).catch(function(error) {
         console.log(error);
     });
 }

有一个按钮,当单击(文件上传后)时,将运行此execute()函数。

当我在找到它的链接( https://watson-speech.mybluemix.net/file-upload.html )上运行它时,它工作正常。 我已经配置了环境变量以使用我的API用户名和密码(并通过从另一个Watson存储库下载示例React项目来确认它们可以工作)。 但是,当我尝试在自己的项目中执行此操作时,它将不起作用。 我收到以下错误:

Error during WebSocket handshake: Unexpected response code: 403

我不确定这是否是CORS问题,还是不能在所有客户端或其他方面完成。 是否需要安装WebSocket? 我以为这都是由Watson函数处理的,所以我很茫然。 任何帮助将不胜感激!

发现您无法检索授权令牌客户端。 您必须具有某种服务器端代码才能检索令牌,然后客户端才能使用该令牌。 Watson还具有一个Node.js SDK,可用于此操作并轻松进行身份验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM