📜  webrtc 获取当前分辨率 (1)

📅  最后修改于: 2023-12-03 15:21:07.951000             🧑  作者: Mango

获取当前分辨率

在WebRTC中,可以使用getDisplayMedia API来获取当前屏幕或窗口的媒体流,并使用getVideoTracks方法获取视频轨道对象。通过getSettings方法可以获取当前视频轨道的设置,包括分辨率、帧率等。

下面是获取当前分辨率的示例代码:

navigator.mediaDevices.getDisplayMedia({ video: true }).then((stream) => {
  const videoTrack = stream.getVideoTracks()[0];
  const settings = videoTrack.getSettings();
  console.log(settings.width, settings.height);
}).catch((err) => {
  console.error(`getDisplayMedia error: ${err}`);
});

首先,使用getDisplayMedia方法获取屏幕或窗口的媒体流,并获取视频轨道对象。然后,通过getSettings方法获取当前视频轨道的设置,其中包括分辨率、帧率等。

返回的结果是当前视频轨道的宽度和高度,可以按需进行处理。

**注意:**使用getDisplayMedia方法需要在SSL环境下或本地localhost环境下运行。在非安全环境下,浏览器可能会要求用户授权或者拒绝访问。此外,获取到的媒体流需要在不需要时及时释放,以避免资源的浪费。

以上就是获取当前分辨率的方法,希望对你有所帮助。