html5视频页面的源码,html5 网页录制视频示例源码
【实例简介】该示例必须在 https环境下运行,否则会遇到意想不到的问题
【实例截图】
【核心代码】
MeidaRecorder
*{
box-sizing: border-box;
margin: 0;
padding: 0;
font-family:monospace;
}
html,body{
height: 100%;
}
html{
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-ms-touch-action: pan-y;
background: #fff;
}
body{
margin: 0;
font-family: Arial,微软雅黑,黑体;
word-break: break-word;
color: #000;
position: relative;
}
h1,h2,h3,h4,h5,p{
margin: 0;
}
pre{
padding: 24px 28px;
}
a{
cursor: pointer;
text-decoration: none;
color: $main-blue;
outline: none !important;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
input, textarea{
outline: none !important;
-webkit-appearance: none;
border: 1px solid #ddd;
background: #fcfcfc;
color: #777;
&:focus{
border-color: #cfcfcf;
background: #fff;
color: #444;
}
&[readonly]{
border-color: #e0e0e0;
background: red;
color: #bbb;
}
}
input{
word-break: break-all;
}
label{
vertical-align: middle;
}
ul{
list-style: none;
margin: 0;
padding: 0;
}
hr{
margin: 0 auto;
border: none;
}
img{
border: none;
}
@media (max-width: 700px){
body:after{
content:"您的屏幕太小了";
position: absolute;
width: 100%;
text-align: center;
top: 20%;
font-size: 40px;
}
#app-main{
display: none;
}
}
录音设备:
录影设备:
视频宽 :
视频高 :
帧 率 :
开始预览
开始录制
停止录制
navigator.mediaDevices.enumerateDevices().then(function (data) {
data.forEach(function (item,index) {
if(item.kind=="audioinput"){
document.getElementById("audioDevice").innerHTML = "" (item.label||"设备" index) " "
}else if(item.kind=="videoinput"){
$("#videoDevice").append("" (item.label||"设备" index) " ")
}
})
console.log(data);
// body...
},function (error) {
alert("获取失败" error);
console.log(error);
})
var getUserMedia = navigator.webkitGetUserMedia;
var g_stream = null,g_recorder = null ;chunks = [];
function startPreview(){
getUserMedia.call(navigator, {
// "audio":true,
// "video":true
"audio":{"mandatory":{"sourceId":$("#audioDevice").val()}},
"video":{
"optional":[
{"minWidth":parseInt($("#videoWidth").val())},{"maxWidth":parseInt($("#videoWidth").val())},
{"minHeight":parseInt($("#videoHeight").val()) },{"maxHeight":parseInt($("#videoHeight").val())},
{"frameRate":parseInt($("#videoFrame").val()) }
],"mandatory":{
"sourceId":$("#videoDevice").val()
}
}
}, function(stream){
g_stream = stream;
//绑定本地媒体流到video标签用于输出
document.getElementById("video").src = URL.createObjectURL(stream);
$("#startPreview").attr("disabled","disabled");
$("#startRecording").removeAttr("disabled")
//向PeerConnection中加入需要发送的流
}, function(error){
//处理媒体流创建失败错误
});
}
var saveFile = function(url, filename){
var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a')
save_link.href = url;
save_link.download = filename;
var event = document.createEvent('MouseEvents');
event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
save_link.dispatchEvent(event);
};
function stopRecording(){
g_recorder.stop();
var blob = new Blob(chunks, { 'type' : 'video/webm' });
var audioURL = URL.createObjectURL(blob);
window.open(audioURL);
$("#stopRecording").attr("disabled","disabled");
$("#startRecording").removeAttr("disabled");
chunks = [];
}
function startRecording(){
g_recorder = new MediaRecorder(g_stream,{ mimeType:'video/webm' });
g_recorder.ondataavailable = function(e) {
chunks.push(e.data);
}
g_recorder.onstop = function(e) {
var blob = new Blob(chunks, { 'type' : 'video/webm' });
var audioURL = URL.createObjectURL(blob);
saveFile(audioURL,"我的自拍.webm");
}
g_recorder.start();
$("#startRecording").attr("disabled","disabled");
$("#stopRecording").removeAttr("disabled")
}
html5视频页面的源码,html5 网页录制视频示例源码相关推荐
- HTML5高度还原复古24层魔塔网页版小游戏源码
简介: HTML5高度还原复古24层魔塔网页版小游戏源码 网盘下载地址: http://kekewl.cc/OFfi6keX7OS0 图片:
- Html5的页面基本结构标签,HTML5:简介和文档基本结构
1)HTML5:http://www.w3.org/TR/html5/ HTML5简介 HTML5实际上是一系列用来制作现代富Web内容的相关技术的总称,其中最重要的三项技术是HTML5核心规范.CS ...
- 个人空间html5主页面,2.HTML 教程- (HTML5 简介)
HTML 教程- (HTML5 简介) 例: 菜鸟教程(runoob.com) 我的第一个标题 我的第一个段落. 实例解析 声明为 HTML5 文档 元素是 HTML 页面的根元素 定义网页编码格式为 ...
- qq互动视频页面加载失败_腾讯视频互动视频 | 创作指南
# 腾讯视频互动视频 | 创作指南 互动视频是传统影视的一种新的表现形式,它可以是综艺.电视剧.电影.动漫等等,也可以是小视频.短视频,旨在通过多样的互动形态和互动表现手法,增强观看者的代入感. 我们 ...
- 网页视频服务器路径,win7网页缓存的视频在哪里?查看win7网页缓存视频位置的方法...
我们在win7系统上用网页看过视频后,在一段时间内计算机是会留下缓存文件的,有时我们想找一部曾经看过的视频找不到了,或许就可以通过缓存找到想要的视频,那么win7网页缓存视频在哪里呢?下面由小编跟大家 ...
- qq录制视频保存到哪了?qq录制视频怎么没了?找回方法在这
相信很多小伙伴都跟小编一样,使用qq录屏录制好后,结果就怎么也找不到录屏的文件了.经过小编一番研究,终于找到了qq录屏后视频文件的所保存的文件路径了.qq录制视频保存到哪了?别担心,下面小编就带大家一 ...
- html5给页面添加树叶特效,html5 canvas树叶光标动画特效
特效描述:html5 canvas树叶 光标动画特效.html5 canvas虚幻的树叶光标动画. 代码结构 1. 引入JS 2. HTML代码 // Hold mouse down to enter ...
- html5登录页面自动记住密码,html5超简单的localStorage实现记住密码的功能实现
HTML5 提供了两种在客户端存储数据的新方法: localStorage – 没有时间限制的数据存储 sessionStorage – 针对一个 session 的数据存储 之前,这些都是由 coo ...
- python爬虫代码实例源码_python 淘宝爬虫示例源码(抓取天猫数据)
爬取淘宝 天猫网站数据# -*- coding: utf-8 -*- #!/usr/bin/env Python import dateTime import URLparse import sock ...
- PDF文件JAVA去水印源码,java pdf增加水印示例源码
[实例简介] [实例截图] [核心代码] package com.test.main; import java.io.File; import java.io.FileOutputStream; im ...
最新文章
- NBT-19年2月刊4篇35分文章聚焦宏基因组研究
- 将字符串下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出
- 今天看了一下攒机配置 5000元以下 参考以下
- 『原创』再谈用 php 实现域名 whois 信息查询
- 定制android触控平板,Adobe发表六款Android平板用触控Apps,一套六款的工具组合
- mysql列别名引用_引用聚合列的MySQL别名
- java高校职工工资管理论文_毕业设计论文java大学工资管理系统
- javascript --- 异步函数的顺序进行
- SQL 中的unicode字符
- 腾讯、网易、新浪新闻网站爬虫编写记录及评论格式分析
- windows iphone 传输
- 关于Git GUI的使用方式
- (二)Nginx安装与配置
- STM32固件库的安装
- mysql中添加外键语句_数据库语句怎么加外键
- 什么是“决策表”?什么是“决策树”?
- MVC 音乐商店 第 7 部分: 会员资格和授权
- Lazy and Hungry
- java导出表格vsd_java 实现vsd转换为其它格式
- js调用打印,并且将页面缩放后进行打印,同时可自定义分页打印demo