【发布时间】:2020-10-07 19:16:50
【问题描述】:
我正在使用 MediaStream 和 MediaRecorder 录制我的浏览器窗口。
但需要禁用鼠标光标被记录,所以当我创建我的视频轨道时,我使用以下代码:
stream['input'] = await navigator.mediaDevices.getDisplayMedia({
audio: true,
video: {
cursor: 'never',
frameRate: 40,
}
});
console.log( stream['input'].getVideoTracks()[0].getSettings() );
但是 chrome、opera 和边缘控制台显示:
aspectRatio: 1.7777777777777777
cursor: "motion"
deviceId: "window:200730:1"
displaySurface: "window"
frameRate: 40
height: 1080
logicalSurface: true
resizeMode: "crop-and-scale"
width: 1920
但似乎忽略了设置,所以光标正在被记录。
我可以看到我的控制台中正在设置 frameRate 约束,但是我似乎终生无法禁用光标。
然而,firefox 不会记录光标并在控制台中显示它
frameRate: 40
height: 924
width: 1263
有没有人成功地使用 Chrome、Edge 和 Opera 完全禁用光标?
我什至尝试过使用
stream['input'].getVideoTracks()[0].applyConstraints( {
video: { cursor: 'never', frameRate: 30 }
} );
这不起作用:-(
更新: 我可以从这里的图表中看到: https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints
游标约束应该只在opera上受支持。但是 getSupportedConstraints() 的输出显示游标毕竟不受支持。
谢谢
【问题讨论】:
-
它叫做
getDisplayMedia()。如果您edit您的问题以更正名称,您可能会得到更好的答案。 -
大声笑,谢谢。我处于模糊的眼睛模式
标签: javascript webrtc getusermedia web-mediarecorder