嘿,所以我要做的是跟踪本地存储在内存中的 MediaStreamTrack,然后使用 html5 视频元素在用户的浏览器中播放。这是我目前拥有的:
const VideoTrack = ({ track }) => {
useEffect(() => {
const el = ref.current
track.attach(el)
return () => {
track.detach(el)
}
}, [track])
return (
<video
ref={ref}
/>
) }
这样做的问题是视频将首先绘制为空/空白,并且只有在调用 useEffect 函数后,页面才会重新渲染并附加 MediaStreamTrack。这会导致非常明显的闪烁。
我希望有一种更简单的方式
<video track={track} />
有这样的事情存在吗?这样我们就可以同时渲染 MediaStreamTrack 和 HTML5 视频元素?