!!!要在https环境下才行!!!
<video class="video" id="video" ref="recordRef" muted autoplay playsinline></video>
let stream
let mediaRecorder
let startTime
let recordSize = 0
let recordedChunks = []
mounted() {
this.init();
},
beforeDestroy() {
recordedChunks = []
if (stream) {
stream.getTracks().forEach(function (track) {
track.stop()
})
}
this.$refs.recordRef.srcObject = null
},
async init(){
this.$nextTick(async () => {
stream = await navigator.mediaDevices.getUserMedia({
video: {
// width:720,
// height:1280,
facingMode: 'user',
},
// video:true,
audio: true,
})
this.$refs.recordRef.srcObject = stream
mediaRecorder = new MediaRecorder(stream)
mediaRecorder.onstart = () => {
recordedChunks = []
recordSize = 0
startTime = new Date().getTime()
}
mediaRecorder.ondataavailable = (event) =>