我现在拿到一个二进制文件流的音频文件,通过js怎么把这个音频文件直接播放出去

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我现在拿到一个二进制文件流的音频文件,通过js怎么把这个音频文件直接播放出去相关的知识,希望对你有一定的参考价值。

需要效果的和<img>标签一样直接能显示二进制流文件图片一样,通过js把这个二进制文件流放到某个标签中,这个音频文件就可以播放!

----------------------1、转换音频流--------------------------

loadAudioInfo=(audioId)=>

        let _this = this

        const url = api.getAudioPath(audioId)

        const request = new window.XMLHttpRequest()

        request.open('GET', url, true)

        request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

        request.setRequestHeader("APPID", "huizhan");

        request.setRequestHeader("X-Account-Info", JSON.stringify( userId: Application.userInfo.userId ));

        request.responseType = 'arraybuffer'

        request.onreadystatechange = function (res) 

            if (request.readyState == 4 && request.status == 200) 

                _this.setState(

                    conferenceAudioWav: 'data:audio/wav;base64,' + Buffer.from(request.response).toString('base64'),

                )

            

        

        request.onerror = (err) => 

        

        request.send();

    

-----------------------------2、正常使用audio标签 src赋值------------------------------

参考技术A //<audio>标签;

var file;
var audioDom=document.getElementById("yourAudioId");
audioDom.pause();
audioDom.src=window.URL.createObjectURL(file);
audioDom.play();

参考技术B 使用audio 标签 就可以了本回答被提问者采纳

以上是关于我现在拿到一个二进制文件流的音频文件,通过js怎么把这个音频文件直接播放出去的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何从用 PHP 编写的 RESTful api 提供二进制文件(图像/音频)?

java 以二进制流的方式读取mysql 中的blob文件,并写入本地文件夹下

使用apache的fileupload组件上传文件怎么解决编码问题?

检索存储在我的 Mlab 中的音频 - 二进制文件

C#里面怎么把二进制转换成byte[]

C# 我获得二进制文件流怎么转化为EXCEL对象?之前是通过路径去拿一个EXCEL文件现在只有一个文件流