如何使用javascript从上传的音频文件或音频文件URL创建媒体流?

如何使用javascript从上传的音频文件或音频文件URL创建媒体流?,javascript,mediastream,Javascript,Mediastream,我知道如何使用从浏览器和系统默认输入设备(麦克风)获取音频流。但是,如果我想从上传的音频文件或音频文件URL获取音频,该怎么办 如果您能提供一个代码示例,我将不胜感激。我直接想到的两种方法: 三个班轮,带: const audio=新音频(url); const stream=audio.captureStream(); audio.play();//流现在有输入 //stacksnippets®中实际有两行以上 const audio=新音频(“https://upload.wikim

我知道如何使用从浏览器和系统默认输入设备(麦克风)获取音频流。但是,如果我想从上传的音频文件或音频文件URL获取音频,该怎么办


如果您能提供一个代码示例,我将不胜感激。

我直接想到的两种方法:

  • 三个班轮,带:
const audio=新音频(url);
const stream=audio.captureStream();
audio.play();//流现在有输入
//stacksnippets®中实际有两行以上
const audio=新音频(“https://upload.wikimedia.org/wikipedia/en/d/dc/Strawberry_Fields_Forever_(披头士乐队歌曲样本);
audio.loop=true;
audio.crossOrigin='anonymous';
音频播放();
const stream=audio.captureStream?
audio.captureStream():
音频.mozCaptureStream?
audio.mozCaptureStream():
无效的
//用这个流给我们的可视接收器提供信息
receiver.srcObject=流;
log(stream.toString())

在使用
play()
方法的情况下,您可能需要对
play()
返回的承诺附加一个回调,因为流可能在
play()
承诺解析之后才能正确初始化。但是,一些较旧的浏览器版本没有从
play()
返回承诺。