This commit is contained in:
weipengfei 2023-10-12 19:13:32 +08:00
parent f9dd3ca7a5
commit 637c7d0c47
1 changed files with 11 additions and 6 deletions

View File

@ -92,6 +92,7 @@ async function handleCopy() {
} }
} }
let playIndex = 0;
async function radioPlay() { async function radioPlay() {
console.log('播放', props.mp3) console.log('播放', props.mp3)
const socket = new WebSocket('wss://chat.lihaink.cn/zhanti/tts'); const socket = new WebSocket('wss://chat.lihaink.cn/zhanti/tts');
@ -101,6 +102,7 @@ async function radioPlay() {
// WebSocket // WebSocket
socket.onopen = () => { socket.onopen = () => {
console.log('socket已连接') console.log('socket已连接')
playIndex = 0;
resolve(null) resolve(null)
} }
}) })
@ -114,16 +116,20 @@ async function radioPlay() {
} }
socket.send(JSON.stringify( { socket.send(JSON.stringify( {
            "data": "快科技10月12日消息不宣而发的华为Mate 60在上架官方商城后直到现在都处于一机难求的状态。由于Mate 60系列的爆火华为也是将明年的预计手机出货量翻倍到了7000万台。 华为Mate 60的热销对同期上市的iPhone15产生了很大的冲击。不仅对华为品牌起到提振效果也对上游国内相关企业产生了积极的影响。 其中华为Mate 60采用了6.69英寸的OLED柔性屏幕分辨率为FHD+ 2688×1216。Mate 60 Pro则采用了6.82英寸的四曲面屏幕分辨率为FHD+ 2720 × 1260。这两款手机屏幕都支持1-120Hz LTPO自适应刷新率、1440Hz高频PWM调光以300 Hz触控采样率。"      "data": "快科技10月12日消息不宣而发的华为Mate 60在上架官方商城后直到现在都处于一机难求的状态。由于Mate 60系列的爆火华为也是将明年的预计手机出货量翻倍到了7000万台。 华为Mate 60的热销对同期上市的iPhone15产生了很大的冲击。不仅对华为品牌起到提振效果也对上游国内相关企业产生了积极的影响。 其中华为Mate 60采用了6.69英寸的OLED柔性屏幕分辨率为FHD+ 2688×1216。Mate 60 Pro则采用了6.82英寸的四曲面屏幕分辨率为FHD+ 2720 × 1260。这两款手机屏幕都支持1-120Hz LTPO自适应刷新率、1440Hz高频PWM调光以300 Hz触控采样率。"
}))
        }))
// WebSocket // WebSocket
socket.onmessage = (event: any) => { socket.onmessage = (event: any) => {
const msg = JSON.parse(event.data); const msg = JSON.parse(event.data);
console.log(msg.mp3); console.log(msg.mp3);
const a = new Audio(msg.mp3)
} a.addEventListener('ended', () => {
onAudioEnd(playIndex)
})
audioElements.push(a)
if(playIndex==0) playAudio()
}
// for (let i = 0; i < props.mp3.length; i++) { // for (let i = 0; i < props.mp3.length; i++) {
// const a = new Audio(props.mp3[i]) // const a = new Audio(props.mp3[i])
@ -140,7 +146,6 @@ const onAudioEnd = (index: any) => {
if (index + 1 < audioElements.length) if (index + 1 < audioElements.length)
audioElements[index + 1].play() audioElements[index + 1].play()
} }
// //
const audioElements = reactive([]) const audioElements = reactive([])
// //