【问题标题】:Is it possible to disable the cursor from being recorded with getDisplayMedia()是否可以使用 getDisplayMedia() 禁用光标记录
【发布时间】: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


【解决方案1】:

在本页底部,您会找到一个表格,显示浏览器对各种“MediaTrackConstraints”属性的支持。

https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSupportedConstraints

cursor 没有得到广泛支持,很遗憾。

您可以使用getSupportedConstraints() 了解运行您的代码的浏览器支持的内容。

在你的 devtools 控制台中试试这个,看看你的浏览器可以做什么,或者更有可能做什么,不能做什么。

console.log(navigator.mediaDevices.getSupportedConstraints())

【讨论】:

  • “你在一个曲折的小通道迷宫中,完全不同。”弄清楚这些东西是 xxx 脖子上的痛苦。不要放弃!
  • 嗨,我这样做了,但似乎不支持光标。我没有得到的是chrome,edge和opera,光标约束自动从“运动”变为“始终”。然而,API 表示它可以更改为“运动”、“始终”或“从不”。而且您可以使用 getSettings() 看到它们的事实没有意义。
  • 我感受到了你的痛苦! WebRTC 边缘的这些 API 现在很混乱。即使一切都像宣传的那样工作,约束对象的整个想法也会造成令人困惑的 API。 MDN 上的文档通常反映 W3C 的规范,从 W3C 的抽象规范语言翻译成 Javascript API 描述。因为它们代表了一个理想、一个目标,有时甚至是实现的现实。换句话说,MDN 上的东西可能是 bul*** -- 可能不正确。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
  • 2018-08-03
  • 2018-01-30
  • 2018-05-23
相关资源
最近更新 更多