当前位置: 首页 > wzjs >正文

网站外链建设与维护浏览器在线

网站外链建设与维护,浏览器在线,快速排名seo,南康建设局官方网站文章目录 语音合成(流式版)WebAPI 文档安装库JS 完整代码 语音合成(流式版)WebAPI 文档 https://www.xfyun.cn/doc/tts/online_tts/API.html 安装库 yarn add crypto-jsJS 完整代码 import CryptoJS from crypto-js;const con…

文章目录

  • 语音合成(流式版)WebAPI 文档
  • 安装库
  • JS 完整代码

语音合成(流式版)WebAPI 文档

  • https://www.xfyun.cn/doc/tts/online_tts/API.html

安装库

yarn add crypto-js

JS 完整代码

import CryptoJS from 'crypto-js';const config = {// 请求地址hostUrl: "wss://tts-api.xfyun.cn/v2/tts",host: "tts-api.xfyun.cn",//在控制台-我的应用-在线语音合成(流式版)获取appid: "xxxxx",//在控制台-我的应用-在线语音合成(流式版)获取apiSecret: "xxxxx",//在控制台-我的应用-在线语音合成(流式版)获取apiKey: "xxxxx",uri: "/v2/tts",
}const getWebSocketUrl = () => {let url = "wss://tts-api.xfyun.cn/v2/tts";let date = new Date().toGMTString();let algorithm = "hmac-sha256";let headers = "host date request-line";let signatureOrigin = `host: ${config.host}\ndate: ${date}\nGET /v2/tts HTTP/1.1`;let signatureSha = CryptoJS.HmacSHA256(signatureOrigin, config.apiSecret);let signature = CryptoJS.enc.Base64.stringify(signatureSha);let authorizationOrigin = `api_key="${config.apiKey}", algorithm="${algorithm}", headers="${headers}", signature="${signature}"`;let authorization = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(authorizationOrigin))return `${url}?authorization=${authorization}&date=${date}&host=${config.host}`;
}const encodeText = (text, type) => {if (type === "unicode") {// 使用CryptoJS处理UTF-16BE编码const utf16BE = CryptoJS.enc.Utf16BE.parse(text);return CryptoJS.enc.Base64.stringify(utf16BE);} else {// 使用CryptoJS的Base64直接编码const utf8WordArray = CryptoJS.enc.Utf8.parse(text);return CryptoJS.enc.Base64.stringify(utf8WordArray);}
}const writeFile = (path, data) => {const fs = uni.getFileSystemManager()return new Promise((resolve, reject) => {fs.writeFile({filePath: path,data,encoding: 'utf8',success: resolve,fail: reject});});
}const play = (target) => {const innerAudioContext = uni.createInnerAudioContext();innerAudioContext.autoplay = true;innerAudioContext.src = target;innerAudioContext.onPlay(() => {console.log('播放事件');})innerAudioContext.onError((err) => {console.log('错误事件', err);})
}export const ttsTest = async (msg) => {const wssUrl = getWebSocketUrl()const msgData = {"common": {"app_id": config.appid},"business": {"aue": "lame","auf": "audio/L16;rate=16000","vcn": "xiaoyan","tte": "UTF8"},"data": {"text": encodeText(msg, 'UTF8'),"status": 2}}const socketTask = await uni.connectSocket({url: wssUrl,header: {'content-type': 'application/json'},method: 'GET',success: (res) => {console.log('connectSocket success', res)},fail: (err) => {console.log('connectSocket fail', err)},complete: (res) => {console.log('connectSocket complete', res)}});socketTask.onMessage(res => {console.log('onMessage', JSON.parse(res.data))const { code, message, sid, data } = JSON.parse(res.data);if (code === 0 && data.status === 2) {// 注意:将base64转化成ArrayBufferconst dataBuffer = uni.base64ToArrayBuffer(data.audio);const target = `${wx.env.USER_DATA_PATH}/${new Date().getTime()}.mp3`;console.log('target', target)try {writeFile(target, dataBuffer)// 播放play(target)socketTask.close(res => {console.log('close', res)})} catch (e) {console.error(e);socketTask.close(res => {console.log('close', res)})}}})socketTask.onClose(res => {console.log('onClose', res)})socketTask.onError(err => {console.log('onError', err)})socketTask.onOpen(data => {console.log('onOpen', data)socketTask.send({data: JSON.stringify(msgData),success: (res) => {console.log('send', res)}})})}
http://www.dtcms.com/wzjs/608696.html

相关文章:

  • 盐城网站优化郑州 网站设计
  • 网站外链推广平台合同解除协议
  • 梧州建设网站网站开发一定找前端么
  • 企业做网站的作用wordpress 主题 minty
  • 网站建设模板代码wordpress如何自建站
  • 电子商务网站建设中应注意哪些问题软件开发行业发展前景
  • 做网站带来的好处网站建设宣传psd
  • 贵阳建设工程招投标网站宁波市住房和城乡建设局网站
  • 网站建设分几模块石家庄有哪些互联网公司
  • 深圳微商城网站设计电话零食网站色调搭配怎麽做
  • 专业做模具钢的网站免费门户网站系统
  • 各种网站制作h5链接是什么意思
  • 长沙建设品牌网站seo网站推广可以自己搞吗
  • 怎么看自己做没做网站地图wordpress栏目页打不开
  • 网站策划方案 优帮云1号网站建设 高端网站建设
  • 做微网站要多少钱seo专业实战培训
  • 无锡哪里做网站wordpress shortcode 插件
  • 怎么建立自己网站 asp一级建设造师网站
  • 建设银行网站 购买外汇仿简书wordpress博客主题
  • 屏山县建设招标网站上海专业页面设计模型设计
  • 重庆本地网站论坛有哪些企业网站建设的成本
  • 商业网站大全万网域名指向网站
  • 律师做网络推广哪个网站好随身办app下载
  • 旅游网站开发设计专注做蔬菜的网站
  • 网站常用的中文字体济南手机网站定制价格
  • 杭州网站建设hzyze上海住房和城乡建设部网站官网
  • 灌云县建设局网站qq营销网站源码
  • 替网站做任务怎么做的网站营销如何做
  • 网站建设实习小结番禺定制型网站建设
  • 网站建设及维护服务技术指标做易拉宝的素材网站