C# 使用MediaElement从UDP/RTSP播放视频?

C# 使用MediaElement从UDP/RTSP播放视频?,c#,wpf,media-player,C#,Wpf,Media Player,是否可以使用WPF的MediaElement控件播放从UDP/RTSP流式传输的视频?在测试期间,我尝试将包含UDP流的URI传递给MediaElement播放器,但当我启动应用程序时,媒体播放器为空,就好像没有媒体源一样。以下是我的示例代码: MainWindow.xaml.cs: public partial class MainWindow: Window { public MainWindow() { InitializeComponent();

是否可以使用WPF的MediaElement控件播放从UDP/RTSP流式传输的视频?在测试期间,我尝试将包含UDP流的URI传递给MediaElement播放器,但当我启动应用程序时,媒体播放器为空,就好像没有媒体源一样。以下是我的示例代码:

MainWindow.xaml.cs:

public partial class MainWindow: Window 
{
    public MainWindow() 
    {
        InitializeComponent();

        VideoMediaElement.Source = new Uri("udp:\\\\@12.3.4.567:890");
        VideoMediaElement.Play();
    }
}
MainWindow.xaml:

<Window x:Class="MyApplication.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="300" Width="300">
<Grid>
    <MediaElement Margin="5,5,5,5" Grid.Row="1" x:Name="VideoMediaElement" LoadedBehavior="Manual" />
</Grid>

这里有什么明显的我遗漏的吗?我已经使用存储在我的文件系统中的视频测试了这个设置,它播放起来没有问题,只是流媒体不想工作

如果使用MediaElement无法做到这一点,我愿意接受有关我可以使用的控件的建议。但是,我需要一个纯WPF的控件,它不依赖于任何WinForms互操作。如有任何建议,我们将不胜感激


更新:为“MediaFailed”事件创建处理程序后,我能够收到以下错误:“媒体文件下载失败”,内部异常为System.Runtime.InteropServices.COMException,HResult为0xC00D0FEA。我引用了这个:并试图对注册表进行一些更改,但他们似乎没有解决问题。再次感谢您的建议。当我获得更多信息时,我将继续更新此线程

经过大量的研究,我试图做的似乎不可能。WPF MediaElement控件(和Windows Media Player)似乎支持通过网络播放视频,但不支持从流播放视频。请参阅MSDN上的以下线程:


我仍然在寻找一个WPF控件,它将播放来自流的视频,但我没有找到任何东西

请参见,这是一款几乎可以替代MediaElement的基于FFmpeg的产品。

您可以在C#上创建http代理服务器。在mediaelement上设置url并在C#客户端上等待请求。将视频流作为响应流发送。可以了。有什么更新吗?我也在同一条船上,阿尔比特晚了几年。