首页 > 其他分享 >开发webrtc第一步

开发webrtc第一步

时间:2023-08-11 16:03:12浏览次数:39  
标签:浏览器 第一步 WebRTC 开发 video getUserMedia navigator webrtc

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

标签:浏览器,第一步,WebRTC,开发,video,getUserMedia,navigator,webrtc
From: https://blog.51cto.com/u_11231522/7048937

相关文章

  • JAVA开发者最常去的25个英文网站
    -InfoIT新闻http://www.apache.org/-Apache基金会http://www.springsource.org/-广大Java开发者喜爱的Springhttp://www.hibernate.org/-开源ORM框架http://sourceforge.net/-开源技术的集结地http://www.javaalmanac.com–Java开发者年鉴一书的在线版本.......
  • 第一章 安装Nginx+Lua开发环境
    首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个WebServer使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Ng......
  • 软件项目管理、开发、验收,全资料获取(实际项目)
    前言:整理了一整套近两百份软件开发实施过程当中的所有文档。(联-系-小-Y-获-取-q-q:262086839)常用文档模板及示例:项目计划、需求分析、概要设计、详细设计、用户操作手册、测试计划、测试分析报告、开发进度报告、项目开发总结报告、软件维护手册等。目录 01计划阶段01项......
  • Nginx+Lua开发入门
    Nginx入门本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章:nginx启动、关闭、重启agentzh的Nginx教程http://openresty.org/download/agentzh-nginx-tutorials-zhcn.htmlNginx+Lua入门http://17173ops.com/2013/11/01/17173-ngx-lua-manual.shtmlnginx配置指令的......
  • 小程序生成App:可跨平台开发的移动应用开发框架
    小程序生成App可以成为一种轻量低门槛的开发App的方式,但是需要根据具体情况进行选择。如果应用需要处理大量数据或需要进行复杂计算,或者需要实现原生特有的功能或交互效果,可能需要选择其他开发方式。在文章开始之前,我们看看目前市面上比较容易上手、低门槛开发App的框架和方式Rea......
  • 9.1 字符设备驱动开发
    一、字符设备驱动简介  字符设备是Linux驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、IIC、SPI,LCD等等都是字符设备,这些设备的驱动就叫做字符设备驱动。    Linux应用程......
  • 传统企业的智能化IPD(产品集成开发)转型
    我国传统企业在完成建立与市场经济体制相适应的现代企业制度改革后,随着近几十年来的不懈努力,我国综合国力和经济实力不断提升,不少国内传统企业近些年在国内外地位、行业声望、企业利润方面均有大幅增长,呈现出发展速度快、经济效益好的良好局面。但我们同时也清醒地认识到,一直以来......
  • ​​​软件开发入门教程网之​​MySQL LIKE 子句​
    我们知道在MySQL中使用SQLSELECT命令来读取数据,同时我们可以在SELECT语句中使用WHERE子句来获取指定的记录。WHERE子句中可以使用等号=来设定获取数据的条件,如"kxdang_author='RUNOOB.COM'"。但是有时候我们需要获取kxdang_author字段含有"COM"字符的所有记录,......
  • ​​​软件开发入门教程网之​​MySQL 连接的使用​
    在前几章节中,我们已经学会了如何在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据。本章节我们将向大家介绍如何使用MySQL的JOIN在两个或多个表中查询数据。你可以在SELECT,UPDATE和DELETE语句中使用Mysql的JOIN来联合多表查询。JO......
  • 软件开发入门教程网 Search之C++ 动态内存
       C++基本的输入输出   ......