matlab调用REST遇到的问题:Body
qq243536478 发布于2018-05 浏览:2714 回复:2
0
收藏

我用matlab调用语音识别API已经成功获得token了,但是要用发送语音的时候,我请求的body给的是int16类型的数据,header填写的是audio/pcm;rate=16000,但是运行的时候报错说:无法将 "int16" 类型且大小为 64800,1 的数据转换为 Content-Type "audio/pcm; rate=16000",或者该数据与后者不一致。请问信息的body里给的是int16类型的数组呢,还是要给别的东西呢?

%读取PCM文件
voice_file=fopen('16k.pcm');
voice_data=fread(voice_file,'int16');
sound(voice_data/max(voice_data),16e3)
fclose(voice_file);

%填写URI地址
AppID='*****************';
API_Key='*********************';
Secret_Key='**********************';
token_addr='https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials';
token_host=[token_addr,'&client_id=',API_Key,'&client_secret=',Secret_Key];
uri_addr=matlab.net.URI(token_host);

%建立请求
request = matlab.net.http.RequestMessage;
request.Method=matlab.net.http.RequestMethod.POST;
request.Header=matlab.net.http.HeaderField('Content-Type', 'application/json; charset=UTF-8');
response = sendRequest(uri_addr,request);%发送并等待响应

%成功获取token
access_token=response.Body.Data.access_token;

%语音识别地址
uri_recognition=['http://vop.baidu.com/server_api?dev_pid=1536&cuid=test&token=',access_token];
uri_addr=matlab.net.URI(uri_recognition);
%建立请求
request2 = matlab.net.http.RequestMessage;
request2.Method=matlab.net.http.RequestMethod.POST;
%信息body赋值
request2.Header=matlab.net.http.HeaderField('Content-Type', 'audio/pcm;rate=16000');
request2.Body=matlab.net.http.MessageBody(int16(voice_data));

response = sendRequest(uri_addr,request2);%发送并等待响应

收藏
点赞
0
个赞
共2条回复 最后由用户已被禁言回复于2022-04
#11用户已被禁言回复于2022-04

https://egame.qq.com/search?kw=%E7%BC%85%E7%94%B8%20%E9%94%A6%E5%88%A9%E9%9B%86%E5%9B%A2%E5%BC%80%E6%88%B7B2024.cN%E8%88%9F%E5%B1%B1%E5%88%86%E7%AB%99%EF%BC%9B%EF%BC%B4&type=search https://search.bilibili.com/video?keyword=%E7%BC%85%E7%94%B8%E6%96%B0%E7%99%BE%E8%83%9C%E5%9C%A8%E7%BA%BF%E7%BD%91%E7%AB%99%E6%98%AF%E5%93%AA%E4%B8%AA%E3%80%90B2024%C2%B7CN%E6%AC%A2%E8%BF%8E%E6%82%A8%E3%80%91%E6%B1%89%E4%B8%AD%E7%99%BE%E5%A7%93%E7%BD%91%EF%BC%9A https://www.oschina.net/search?scope=all&q=%E7%9A%87%E5%AE%B6%E5%9B%BD%E9%99%85%E5%9C%A8%E7%BA%BF%E7%99%BB%E5%BD%95%E7%BD%91%E5%9D%80%E6%98%AF%E5%A4%9A%E5%B0%91%E3%80%90TL262%C2%B7C%EF%BC%AFM%E6%AC%A2%E8%BF%8E%E6%82%A8%E3%80%91%E4%BA%91%E6%B5%AE%E7%BD%91%E9%80%9A%EF%BD%98 https://ai.baidu.com/search/%E6%9C%89%E4%BA%BA%E7%8E%A9%E6%96%B0%E9%94%A6%E6%B1%9F%E5%90%97%E6%80%8E%E4%B9%88%E6%A0%B7%E5%BC%80%E6%88%B7TL262.c%EF%BC%AF%EF%BC%AD%E6%99%AE%E6%B4%B1%E5%AD%A6%E5%BA%9C%EF%BC%BE%EF%BD%82/product/1 https://www.alibaba.com/products/%E9%91%AB%E7%99%BE%E5%88%A9%E5%B9%B3%E5%8F%B0%E5%AE%89%E5%85%A8%E4%B8%8D%E6%8E%A8%E8%8D%90B2024%C2%B7CN%E9%94%A6%E5%B7%9E%E7%94%B5%E8%A7%86%E5%8F%B0%EF%BC%A7.html

0
#2fujiayi1984回复于2018-05

传输的是二进制数据

0
TOP
切换版块