【问题标题】:AudioElementMediaStream to MediaStreamSourceAudioElementMediaStream 到 MediaStreamSource
【发布时间】:2018-03-09 20:05:39
【问题描述】:

WebAudioApi AudioContext 可以从create a sourceMediaStreamSource:

  const {audioCtx} = this;
  const source = audioCtx.createMediaStreamSource(mediaStream);
  source.connect(audioCtx.destination);
  source.start(audioCtx.currentTime);

Audio-Element 支持通过captureStream() 访问的媒体流:

  const audio = new Audio();
  audio.src = src;
  const mediaStream = audio.captureStream();

正如您在文档中看到的那样,两个流 - 音频捕获流以及 createAudioStreamSource 的流参数都是 MediaStreams,为什么它不起作用。问题出在哪里,该如何解决?

编辑:

问题是broser抛出这个错误:

× 未处理的拒绝(InvalidStateError):无法在“BaseAudioContext”上执行“createMediaStreamSource”:MediaStream 没有音轨

【问题讨论】:

  • 您实际上并没有说什么不起作用。一个更完整(但仍然简单)的问题示例会有所帮助。

标签: javascript html5-audio web-audio-api mediastreamsource


【解决方案1】:

您已将“src”附加到您的音频元素,但在对内容进行操作之前,您尚未检查内容是否已从服务器完全加载。如果流尚未完成下载到浏览器,则无法捕获流,有点像在完全在浏览器中之前无法显示图像源。任何针对源的进程都必须放在 onload 处理程序中。 (您可能希望在 <audio> 元素中使用 <source> 元素。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多