// Для записи камеры
recordCamera = () => {
navigator.webkitGetUserMedia({
audio: false,
video: { mandatory: { minWidth: 1280, minHeight: 720 } }
}, getMediaStream, this.getUserMediaError)
}
recorderOnDataAvailable = (event) => {
if (event.data && event.data.size > 0) {
this.recordedChunks.push(event.data)
this.numRecordedChunks += event.data.byteLength
}
}
// Для записи весь рабочий стол или конкретное окно соответствующее окно id is передано
onAccessApproved = (id) => {
if (!id) {
console.log('Access rejected.')
return
}
navigator.webkitGetUserMedia({
audio: false,
video: { mandatory: { chromeMediaSource: 'desktop',
chromeMediaSourceId: id,
maxWidth: window.screen.width,
maxHeight: window.screen.height
}
}
}, getMediaStreamScreen, getUserMediaError))
}
getMediaStream = (stream) => {
console.log('Start recording the stream.')
recorder = new MediaRecorder(stream)
stream.onended = () => { console.log('Media stream ended.') }
let videoTracks = stream.getVideoTracks()
recorder.ondataavailable = this.recorderOnDataAvailable
recorder.onstop = () => { console.log('recorderOnStop fired') }
recorder.start()
}
getUserMediaError = () => {
console.log('getUserMedia() failed.')
}
Я хочу записать экран нестандартного размера (пример: от верхнего левого (100px, 100px) до нижнего правого (500px, 500px).
Нет параметров в навигаторе .webkitGetUserMedia для достижения записи нестандартного размера.
Как это сделать в электронном режиме и реагировать js.