在javascript中播放音频块而不是完整文件&;node.js

在javascript中播放音频块而不是完整文件&;node.js,javascript,node.js,audio-streaming,Javascript,Node.js,Audio Streaming,我正在寻找一个解决方案来播放现场音频,即音频块,而不是阅读整个文件,然后开始流式音频。我希望用户选择他想要流的文件,然后它将开始流给用户。我使用的是socket.io流包。下面是我正在使用的代码 <input type="file" id="file"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io-stream/0.9.1/socket.io-

我正在寻找一个解决方案来播放现场音频,即音频块,而不是阅读整个文件,然后开始流式音频。我希望用户选择他想要流的文件,然后它将开始流给用户。我使用的是
socket.io流
包。下面是我正在使用的代码

<input type="file" id="file"/>


<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io-stream/0.9.1/socket.io-stream.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
    $(document).ready(function() {          
        $('#file').change(function(e) {
            var file = e.target.files[0];
            var stream = ss.createStream();
            let parts = [];

            var blobStream = ss.createBlobReadStream(file);
            blobStream.on('data',function(chunk){
                parts.push(chunk);
            })
            blobStream.on('end',function(){
                audio.src = (window.URL || window.webkitURL).createObjectURL(new Blob(parts));
                audio.play();
            })
            blobStream.pipe(stream);
        });
    });
</script>

$(文档).ready(函数(){
$('#file').change(函数(e){
var file=e.target.files[0];
var stream=ss.createStream();
让零件=[];
var blobStream=ss.createBlobReadStream(文件);
blobStream.on('data',函数(块){
零件。推(块);
})
blobStream.on('end',function()){
audio.src=(window.URL | | window.webkitURL).createObjectURL(新Blob(部分));
音频播放();
})
滴流管(流);
});
});

不知道为什么上面的代码不适合我。有人能帮我做同样的事情吗?

为什么要使用web套接字?您可以向下一层,使用常规HTTP,而不必编写任何代码。否则,您将需要使用MediaSource扩展,这将限制您使用特定的容器格式。感谢您的回复!你能提供一些这样的例子吗?在客户机上,这就像
一样简单。然后在您的服务器上,只需将流数据作为HTTP响应发送。我想您是在要求我直接将音频url传递到前端的音频标记中。是吗?是的,没错。