0

好的,我正在尝试找到一种方法来发送预览的内容。

但可悲的是,我不知道如何,因为我需要获取缓冲区或流等。

我找不到任何关于它的信息。 这是代码:

public partial class Capture : Form
{
    private MemoryStream cap;
    private StreamWriter writecap;
    private UdpClient udpcap;
    private FileStream streamfile;

    public Capture()
    {
        InitializeComponent();
        Initialize();
    }

    private void Initialize()
    {
        udpcap = new UdpClient();

        Filters filters = new Filters();
        DirectX.Capture.Capture capture = new DirectX.Capture.Capture(
            filters.VideoInputDevices[4],
            filters.AudioInputDevices[0]);

        panel2.Size = capture.FrameSize;  
        capture.PreviewWindow = panel2;

        capture.Cue();

        capture.Start();
    }
}

我所做的几乎只是在面板中显示设备。我想要做的是通过 UDP 发送该预览。

我知道如何将其保存为文件,但仅此而已。

4

1 回答 1

0

UDP 数据报 (a) 大小有限 (b) 可以乱序交付 (c) 无交付保证。这使得通过 UDP 进行的对话变得复杂,并要求您从小数据报重新构建大帧,检测丢弃的数据包和/或请求重新发送,维护数据报列表或接收方和可能的发送方。这使得 UDP 对话不仅仅是一段代码。

有关基础知识,请查看以下内容:

于 2013-07-25T06:27:50.163 回答