0

我试图弄明白为什么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();
4

1 回答 1

0

尝试以这种方式创建音频元素: 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。不知道为什么“音频”是前者的别名。

于 2017-02-26T08:02:25.580 回答