使用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()
}
引用 皆我百晓生 小程序回复内容作答:
根据RecordRTC的文档,在初始化recorder对象时,使用hidePause: true
是可以隐藏暂停按钮的。但是该属性只对Chrome浏览器有效,其他浏览器暂时不支持隐藏暂停按钮的功能。
如果在Chrome浏览器中仍然不能隐藏暂停按钮,可以尝试以下方法:
recordrtc.js
、recordrtc-onUnix.js
等)都已正确引入,并且没有其他冲突的脚本或样式文件。如果以上方法都无效,可能需要考虑其他解决方案或使用其他库来实现直播功能。