开发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 相关注释代码里有,可以参考,如有问题可以在评论区留言。

相关文章
|
Linux 网络安全 数据安全/隐私保护
如何在 CentOS 上安装和配置 Samba?
如何在 CentOS 上安装和配置 Samba?
1868 0
如何在 CentOS 上安装和配置 Samba?
geojson格式筛选及处理的解决方案
geojson格式筛选及处理的解决方案
378 0
|
8月前
|
Linux 网络安全 数据安全/隐私保护
centos开启samba服务
通过以上步骤,您已成功在CentOS系统上安装、配置并启动了Samba服务,并且可以通过Windows或Linux客户端访问共享目录。Samba为跨平台文件共享提供了强大的支持,配置灵活且易于管理。无论是简单的家庭网络共享还是企业级文件服务器,Samba都能胜任。通过合理的配置和访问控制,您可以确保文件共享的安全性和便利性。
663 74
|
Web App开发 编解码 API
WebRTC简介及使用
WebRTC简介及使用
973 0
|
Web App开发 网络协议 算法
WebRTC 和一些常见的直播方案
【10月更文挑战第25天】
|
前端开发
使用 Promise.all 处理多个 Promise 同时失败的情况
【10月更文挑战第26天】通过以上几种方法,我们可以根据具体的需求和环境选择合适的方式来处理多个 `Promise` 同时失败的情况,从而更好地进行错误处理和程序的稳定性保障。
897 2
nrm 安装后报错 Error [ERR_REQUIRE_ESM]: require() of ES Module
nrm 安装后报错 Error [ERR_REQUIRE_ESM]: require() of ES Module
1152 0
|
Java Android开发
解决AGP升级到8.0后编译报错kaptGenerateStubsDebugKotlin
解决AGP升级到8.0后编译报错kaptGenerateStubsDebugKotlin
1450 0
|
自然语言处理 API 数据处理
惊了!浏览器居然自带语音API和流处理API!
惊了!浏览器居然自带语音API和流处理API!
289 0
|
Linux Windows
教你在Linux上安装Node并用Electron打包deb和rpm包
教你在Linux上安装Node并用Electron打包deb和rpm包
927 9