cloud-sdk-js
一、前期准备
- 首先,JS SDK 需要浏览器支持基本的 HTML5 特性,以便计算音频流 base64 值。
- 注册登录 新联云管理中心控制台 。
- 前往 云API密钥 的控制台页面,获取或创建您的项目 SecretId 和 SecretKey。
SecretKey 必须严格保管,避免泄露。
二、计算签名
由于签名计算放在前端会暴露 SecretId 和 SecretKey,我们把签名计算过程放在后端实现,前端通过 ajax 向后端获取签名结果,正式部署时请在后端加一层自己网站本身的权限检验。
签名例子:
三、录音识别例子
- 创建 test.html,填入下面的代码。
- 部署好后端的签名服务,并修改 getAuthorization 里的签名服务地址
- 把 test.html 放在 Web 服务器下,然后在浏览器访问页面,测试录音识别
<script src="dist/sc/sc-js-sdk.min.js"></script>
<script>
// 初始化实例
var sc = new SC({
getAuthorization: function (options, callback) {
var url = 'http://127.0.0.1:3000/sts'; // 这里替换成您的服务接口地址
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = function (e) {
try {
var data = JSON.parse(e.target.responseText);
var credentials = data.credentials;
} catch (e) {}
if (!data || !credentials) {
return console.error('credentials invalid:\n' + JSON.stringify(data, null, 2));
}
callback({
Authorization: credentials.Authorization,
Nonce: credentials.Nonce,
Timestamp: credentials.Timestamp,
SecretId: credentials.SecretId,
});
};
xhr.send(options.Body);
}
});
sc.getScInfo({
audioChunk: 'pcm 格式的音频二进制流 base64 后的内容'
}, (err, response) => {
// 请求异常返回,打印异常信息
if (err) {
console.log(err)
return
}
// 请求正常返回,打印response对象
console.log(response)
});
</script>
webpack 引入方式
支持 webpack 打包的场景,可以用 npm 引入作为模块
npm i @neunit/cloud-sdk-js --save
import XLCLOUD from '@neunit/cloud-sdk-js';
const { SC } = XLCLOUD;
const sc = new SC({
getAuthorization: (options, callback) => {
// ...
},
});
sc.getScInfo({
audioChunk: 'pcm 格式的音频二进制流 base64 后的内容',
}, (err, response) => {
// ...
});
Start Demo
1. git clone cloud-sdk-js 至本地
2. cd cloud-sdk-js 进入根目录后执行:npm install
3. 修改 server 文件夹中 sts.js 中的 secretId、secretKey 配置;
4. npm run server # 用 node 启动服务
5. 浏览器输入 http://127.0.0.1:3000/ 即可进行 demo 演示