1

我正在使用 c++11、野兽库和 IBM 语音转文本 Web 服务。

执行握手时,websocket 接口(连接)需要authentication tokenas 请求标头。

参考Watson文档中可用的此代码,我似乎也必须将模型类型(如果我愿意)作为请求标头传递

var IAM_access_token = '{access_token}';
var wsURI = 'wss://stream.watsonplatform.net/speech-to-text/api/v1/recognize'
     + '?access_token=' + IAM_access_token
     + '&model=es-ES_BroadbandModel';
var websocket = new WebSocket(wsURI);

还有提到设置“模型”的卷曲请求格式

curl -X POST -u "apikey:{apikey}"
--header "Content-Type: audio/flac"
--data-binary @{path}audio-file.flac
"https://stream.watsonplatform.net/speech-to-text/api/v1/recognize?model=en-US_NarrowbandModel"

有人能帮我弄清楚如何在我的 websocket 中传递“模型”(在 c++11 中使用野兽)吗?

这是我传递身份验证令牌的方式:

mWebSocket.async_handshake_ex(mHost, "/speech-to-text/api/v1/recognize",
        [mToken](request_type& reqHead) {
            reqHead.insert(http::field::authorization,mToken);},
        bind(&IbmWebsocketSession::send_start, shared_from_this(), placeholders::_1));
4

1 回答 1

0

正如@ALanBirtles 建议的那样

将所需model的 url 作为

    mWebSocket.async_handshake_ex(mHost, "/speech-to-text/api/v1/recognize?model=en-US_NarrowbandModel",...

作品

于 2019-04-03T13:17:25.430 回答