网站在线客服系统实时语音视频聊天实战开发,最兼容的getUserMedia获取音视频流的函数方法...

getUserMedia() 是一个 JavaScript API,允许你访问用户的音频和视频设备(如摄像头和麦克风)。在不同的浏览器中,它的实现略有不同,但是你可以使用以下代码来实现一个最兼容的版本:

//兼容的getUserMedia
function getCompatibleUserMedia(constraints, successCallback, errorCallback) {
  var media = (navigator.getUserMedia || navigator.webkitGetUserMedia ||navigator.mozGetUserMedia ||navigator.msGetUserMedia);
  
  if (media) {
    media.call(navigator, constraints, successCallback, errorCallback);
    return true;
  } else {
    console.error("Your browser does not support the getUserMedia API.");
    return false;
  }
}

这个函数接受三个参数:

  • constraints:需要请求的媒体设备约束(例如音频和视频)。
  • successCallback:当请求成功时的回调函数。
  • errorCallback:当请求失败时的回调函数。

如果浏览器支持 getUserMedia,则使用 call() 方法调用它,并将 navigator 对象、约束、成功回调和错误回调作为参数传递。如果不支持,则在控制台中输出一条错误消息。

现在,你可以使用这个函数来请求媒体设备:

                var _this=this;
                let res=tools.getCompatibleUserMedia({video:true, audio: {
                    noiseSuppression: true,
                    echoCancellation: true,
                }},function(stream) {
    
                },function(err) {
                    _this.$message({
                        type: 'error',
                        message: err
                    });
                });
                if(!res){
                    _this.$message({
                        type: 'error',
                        message: "Your browser does not support the getUserMedia API."
                    });
                }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值