【问题标题】:Why doesn't the HTMLVideoElement have the same constructor syntax as HTMLAudioElement?为什么 HTMLVideoElement 的构造函数语法与 HTMLAudioElement 不同?
【发布时间】:2017-02-26 00:24:56
【问题描述】:

我试图弄明白为什么HTMLAudioElement Web API 允许使用new AudioHTMLVideoElement 没有new Video

对于上下文,我正在使用 PeerJS 库开发一个 WebRTC 项目,下面代码块的最后第二行实例化了一个“新音频”对象,我们使用该对象在对等点之间流式传输音频。通过扩展,我认为要流式传输和播放视频,会有一个 new Video 可供使用,但它似乎甚至不是一个东西(正如控制台错误所证明的那样,并且通过 HTMLVideoElement 文档中没有它来验证)。这是为什么?

this.peer.on('call', (call)=>{
  console.log('recieving call');
  call.answer();
  call.on('stream', (mediaStream)=>{
    let clientAudio = new Audio(window.URL.createObjectURL(mediaStream));
    clientAudio.play();

【问题讨论】:

    标签: video-streaming webrtc peerjs


    【解决方案1】:

    尝试以这种方式创建音频元素: call.on('stream', (mediaStream)=>{ let clientAudio = document.createElement('audio'); clientAudio.autoplay = true; clientAudio.srcObject = mediaStream; // legacy way, dont use anymore // clientAudio.src = window.URL.createObjectURL(mediaStream); }

    要回答您最初的问题,请尝试 HTMLAudioElement 和 HTMLVideoElement。不知道为什么“音频”是前者的别名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 2019-12-18
      • 2011-06-20
      • 2021-07-02
      • 2017-04-07
      • 1970-01-01
      相关资源
      最近更新 更多