<template>
<div class="home">
<!-- <button @click="getWebsocketUrl">获取WSS地址</button> -->
<!-- <button @click="connectWebSocket">连接WSS地址</button>
<button @click="audioPlay">播放</button> -->
</div>
</template>
<script>
// @ is an alias to /src
import CryptoJS from 'crypto-js'
import {Base64} from "js-base64";
export default {
name: 'Home',
data() {
return {
webSocketUrl: '',
ttsWS: null,
audioContent: null,
audioDataOffset: 0,
transWorker: null,
audioData: [],
}
},
created(){
this.getWebsocketUrl()
},
methods: {
getWebsocketUrl() {
return new Promise((resolve, reject) => {
var apiKey = "自己的key"
var apiSecret = "自己的api"
var url = 'wss://tts-api.xfyun.cn/v2/tts'
var host = location.host
var date = new Date().toGMTString()
var algorithm = 'hmac-sha256'
var headers = 'host date request-line'
var signatureOrigin = `host: ${host}\ndate: ${date}\nGET /v2/tts HTTP/1.1`
var signatureSha = CryptoJS.HmacSHA256(signatureOrigin, apiSecret)
var signature = CryptoJS.enc.Base64.stringify(signatureSha)
var authorizationOrigin = `api_key="${apiKey}", algorithm="${algorithm}", headers="${headers}", signature="${signature}"`
var authorization = btoa(authorizationOrigin)
url = `${url}?authorization=${auth
科大讯飞在线语音播报vue模块
最新推荐文章于 2025-04-05 20:35:47 发布