最近在做一个直播功能,查阅了webRTC相关资料,下面是简单实现的栗子哟(基于vue.js)!
子组件
<template> <video id="rtc"></video> </template> <script> export default { name: "LiveDetails", data() { return {}; }, mounted() { let video = document.querySelector("#rtc"); // 参数表示需要同时获取到音频和视频 // 获取到优化后的媒体流 // { audio: true, video: true } const constraints = { audio: { echoCancellation: { exact: false } }, video: true }; navigator.mediaDevices .getUserMedia(constraints) .then(stream => { console.log(stream) //此处打印请看下方 video.srcObject = stream; video.onloadedmetadata = e => { video.play(); }; }) .catch(err => { console.log(err); }); } }; </script>
亲测有效,会有回声,后端可以进行处理