使用RecordRTC打开的摄像头,但是会有暂停的存在,我需要做的是直播,它是不能暂停的
hidePause: true没啥作用
var myVideo = document.getElementById('myVideo')
var canvas = document.getElementById('canvas')
var img = document.getElementById('img')
let recorder = new Object();
var videoStearm = new Object();
function openRecord() {
navigator.mediaDevices.getUserMedia({
video: {
width: "200",
height: "200",
frameRate: 24
},
audio: true,
elementClass: 'multi-streams-mixer'
}).then(async function (stearm) {
videoStearm = stearm
//把流赋值给video 实现实时录制
myVideo.srcObject = stearm;
console.log(myVideo.srcObject, 'srcobject')
//立马开始播放视频流
myVideo.play();
recorder = RecordRTC(stearm, {
type: 'video',
//视频类型
mimeType: 'video/mp4',
timeSlice: 1000,//这是什么意思
//该回调函数必须和上面的timeSlice分片时间配合使用
ondataavailable: function (blob) {
// blob为每一秒的视频片段
console.log(blob, '00000000')
},
// 获取时间片段的时间戳
onTimeStamp: function (timestamp) {
console.log(timestamp)
},
bitsPerSecond: 128000,//是数据传输速率的常用单位
hidePause: true,
})
console.log(stearm, '视频流');
//开启录制
recorder.startRecording()
const sleep = m => new Promise(r => setTimeout(r, m));
await sleep(10000);
}).catch((err) => { console.log('用户未开启视频权限') })
}
function play() {
let url = recorder.toURL();
myVideo1.src = url
}
//关闭浏览器视频音频
function close() {
console.log(1234)
console.log(videoStearm, '0000')
console.log(videoStearm.getTracks(), '0000');
videoStearm.getTracks()[0].stop()
videoStearm.getTracks()[1].stop()
}