何时由 UWP 媒体帧阅读器解码来自罗技 C920 USB 网络摄像头的图像帧



当我的 Windows 10 UWP .NET C# 应用程序的 MediaFrameReader.FrameMet 事件收到来自我的罗技 C920 USB 网络摄像头的图像帧时,解压缩(解码)发生在哪里?

相机中的帧是在 MediaFrameReader.FrameArrive事件之前解码的,还是当我调用发送者时解码的。TryAcquireLatestFrame()?

相机中的帧是在 MediaFrameReader.FrameArrive事件之前解码的,还是当我调用发送者时解码的。TryAcquireLatestFrame()?

对于此问题,您可以参考相机帧代码示例。从代码的角度来看。解压缩(解码)发生在FrameArrived之前。

private void FrameReader_FrameArrived(MediaFrameReader sender, MediaFrameArrivedEventArgs args)
{
    // TryAcquireLatestFrame will return the latest frame that has not yet been acquired.
    // This can return null if there is no such frame, or if the reader is not in the
    // "Started" state. The latter can occur if a FrameArrived event was in flight
    // when the reader was stopped.
    using (var frame = sender.TryAcquireLatestFrame())
    {
        if (frame != null)
        {
            var renderer = _frameRenderers[frame.SourceKind];
            renderer.ProcessFrame(frame);
        }
    }
}

因为框架包含SoftwareBitmap.这意味着原始数据已被解码,然后打包为帧实例。

最新更新