是否可以禁用使用getDisplayMedia记录光标

问题描述

我正在使用MediaStream和MediaRecorder记录我的浏览器窗口。

但是需要禁用鼠标光标的录制,因此在创建视频轨道时,我使用以下代码

stream['input'] = await navigator.mediaDevices.getdisplayMedia({
    audio: true,video: {
    cursor: 'never',frameRate: 40,}
});
console.log( stream['input'].getVideoTracks()[0].getSettings() );

但是Chrome,Opera和Edge控制台会显示

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()输出

谢谢

解决方法

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

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

<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>NovaNote</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div class="father"> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="function.js" charset="utf-8"></script> </body> </html>未得到广泛支持,伤心的说

您可以使用cursor来了解运行代码的浏览器所支持的功能。

在devtools控制台中尝试此操作,以查看浏览器可以做什么,或者更有可能,不能做什么。

getSupportedConstraints()