簡體   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