主页 > IT业界  > 

前端如何播放二进制音频数据

前端如何播放二进制音频数据
音频数据

播放数据  const tryListen = async (row) => { awakenPlay(row.sid).then((res) => { // 请求接口,拿到二进制音频数据 const binaryData = atob(res.data); // 将二进制数据转换为 Uint8Array const byteArray = new Uint8Array(binaryData.length); for (let i = 0; i < binaryData.length; i++) { byteArray[i] = binaryData.charCodeAt(i); } const offset = 42; // 跳过可能的头部数据(假设前 42 字节是 WAV 头部),否则播放开始处有杂音 // 将 Uint8Array 转换为 Int16Array const pcmData = new Int16Array(byteArray.buffer, offset); // 创建 AudioContext const audioContext = new window.AudioContext(); // 创建 AudioBuffer const audioBuffer = audioContext.createBuffer(1, pcmData.length, 16000); // 单声道,16000 Hz const channelData = audioBuffer.getChannelData(0); // 将 PCM 数据归一化到 [-1, 1] 范围 for (let i = 0; i < pcmData.length; i++) { channelData[i] = pcmData[i] / 32768.0; } // 播放音频 const source = audioContext.createBufferSource(); source.buffer = audioBuffer; source.connect(audioContext.destination); source.start(); }); };

标签:

前端如何播放二进制音频数据由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“前端如何播放二进制音频数据