为什么HTMLVideoElement与HTMLAudioElement具有相同的构造函数语法?

时间:2017-02-26 00:24:56

标签: video-streaming webrtc peerjs

我试图了解HTMLAudioElement网络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();

1 个答案:

答案 0 :(得分: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。不知道为什么“音频”是前者的别名。