WebAudioApi AudioContext可以从MediaStreamSource创建源:
const {audioCtx} = this;
const source = audioCtx.createMediaStreamSource(mediaStream);
source.connect(audioCtx.destination);
source.start(audioCtx.currentTime);
Audio-Element 通过 captureStream(( 支持可访问的 mediaStream:
const audio = new Audio();
audio.src = src;
const mediaStream = audio.captureStream();
正如您在文档中看到的那样,两个流 - 音频捕获流以及createAudioStreamSource的流参数都是MediaStreams,为什么它不起作用。问题在哪里,我该如何解决它?
编辑:
问题是浏览器抛出此错误:
×未处理的拒绝(无效状态错误(:无法在"BaseAudioContext"上执行"createMediaStreamSource":MediaStream 没有音轨
"src"附加到音频元素,但在对其执行操作之前尚未检查内容是否已从服务器完全加载。如果流尚未完成下载到浏览器,则无法捕获流,就像在图像源完全进入浏览器之前无法显示图像源一样。针对源的任何进程都必须放置在 onload 处理程序中。(您可能希望在<audio>
元素中使用<source>
元素。