gpt4 book ai didi

javascript - 如何对 `MediaStream` 中视频轨道的尺寸/大小变化使用react?

转载 作者:行者123 更新时间:2023-12-01 13:10:28 31 4
gpt4 key购买 nike

在我的网络应用程序中,我获得了 MediaStream通过getUserMediagetDisplayMedia .在某些情况下,该流的视频轨道可以改变其大小。例如,如果 getDisplayMedia跟踪特定窗口,该窗口可以更改大小。或者在移动设备上,当从横向模式切换到纵向模式时,相机图像将旋转 90°(即交换宽度和高度)。

我知道如何获得 MediaStream 的尺寸(as described here)。我现在想在尺寸发生变化时得到通知。某种回调/事件。

我已经尝试过MediaStream.onaddtrack (猜测可能轨道被删除并以不同的大小读取)我也尝试使用 MutationObserver<video>我正在显示流的元素。这些都不起作用。我还检查了 MDN 是否有其他可能对我有帮助的事件,但我没有找到任何有希望的事件。

有没有办法订阅视频轨道尺寸的变化? 每次尺寸变化时都应该调用我的一个函数。如果不可能,我需要忙民意调查:有没有一种聪明的方法可以让民意调查不那么忙?

最佳答案

您可以订阅resize您的视频元素的事件

const video = document.getElementById("video");

video.addEventListener("resize", (e) => {
const { videoWidth, videoHeight } = video;
// can do smth here
// for example
video.style.width = videoWidth;
video.style.height = videoHeight;

}, false);

关于javascript - 如何对 `MediaStream` 中视频轨道的尺寸/大小变化使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60400027/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com