开发webrtc第一步

简介: 这篇文章介绍了如何使用WebRTC技术在网页上实现摄像头和麦克风的调用,并将实时视频流显示在HTML的video标签中。

WebRTC是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点的连接,实现视频流和音频流或者其他任意数据的传输。WebRTC是浏览器支持,不需要引入任何其他的相关js组件,就可以直接使用。 今天这节讲解在浏览器中做webrtc的第一步,通过;浏览器的API调用摄像头和麦克风将内容显示在div中。将下面的代码复制到html文件中,双击打开,浏览器可能会提示是否允许开启摄像头和麦克风,点击允许,就OK了。下面直接上代码:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset ="utf-8" />
        <title>WebRTC</title>
        <style>
            video,canvas{
                border:1px solid gray;
                width:480px;
                height:320px
            }
        </style>
    </head>
    <body>
        <video autoplay></video>
        <script>
            //判断当前浏览器是否支持webrtc
            function hasUserMedia() {
                return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);
            }
            if (hasUserMedia()) {
                //如果支持webrtc的话就获取到视频语音,并把流数据放到标签video中
                navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
                navigator.getUserMedia({
                    video: true,//是否开启视频
                    audio: true //是否开启语音
                }, function (stream) {
                    //将流数据添加到video标签中
                    var video = document.querySelector('video');
                    video.srcObject = stream;
                }, function (err) {

                });    
            }else{
                alert("抱歉,你的浏览器不支持webrtc")
            }
        </script>
    </body>

</html>

效果图 1691739748650.jpg 相关注释代码里有,可以参考,如有问题可以在评论区留言。

相关文章
|
NoSQL 算法 安全
Redlock 算法-主从redis分布式锁主节点宕机锁丢失的问题
Redlock 算法-主从redis分布式锁主节点宕机锁丢失的问题
809 0
geojson格式筛选及处理的解决方案
geojson格式筛选及处理的解决方案
442 0
|
11月前
|
Linux 网络安全 数据安全/隐私保护
centos开启samba服务
通过以上步骤,您已成功在CentOS系统上安装、配置并启动了Samba服务,并且可以通过Windows或Linux客户端访问共享目录。Samba为跨平台文件共享提供了强大的支持,配置灵活且易于管理。无论是简单的家庭网络共享还是企业级文件服务器,Samba都能胜任。通过合理的配置和访问控制,您可以确保文件共享的安全性和便利性。
1007 74
|
Web App开发 编解码 API
WebRTC简介及使用
WebRTC简介及使用
1073 0
|
Web App开发 网络协议 算法
WebRTC 和一些常见的直播方案
【10月更文挑战第25天】
|
前端开发
使用 Promise.all 处理多个 Promise 同时失败的情况
【10月更文挑战第26天】通过以上几种方法,我们可以根据具体的需求和环境选择合适的方式来处理多个 `Promise` 同时失败的情况,从而更好地进行错误处理和程序的稳定性保障。
1031 2
|
算法 安全 物联网
关于SM2、SM3、SM4、SM9这四种国密算法
本文介绍了四种国密算法——SM2、SM3、SM4和SM9。SM2是一种基于椭圆曲线的非对称加密算法,用于数据加密和数字签名;SM3是哈希算法,用于数字签名和消息完整性验证;SM4是对称加密算法,用于数据加密和解密;SM9是基于标识的非对称密码算法,适用于物联网环境中的数据安全和隐私保护。
9811 0
|
关系型数据库 MySQL Linux
mysql 主从同步 实现增量备份
【8月更文挑战第28天】mysql 主从同步 实现增量备份
280 3
|
Java Android开发
解决AGP升级到8.0后编译报错kaptGenerateStubsDebugKotlin
解决AGP升级到8.0后编译报错kaptGenerateStubsDebugKotlin
1638 0
|
自然语言处理 API 数据处理
惊了!浏览器居然自带语音API和流处理API!
惊了!浏览器居然自带语音API和流处理API!
346 0