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

标签 c# wpf media-player

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

主窗口.xaml.cs:

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

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

主窗口.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。我引用了这个:MediaPlayer cannot play file names without an extension并尝试对注册表进行一些更改,但它们似乎并没有解决问题。再次感谢任何建议。当我获得更多信息时,我将继续更新此线程。

最佳答案

参见 FFME ,几乎是 MediaElement 的替代品,基于 FFmpeg。

关于c# - 使用 MediaElement 从 UDP/RTSP 播放视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31415161/

相关文章:

c# - 属性不会序列化到 .designer.cs 文件中

WPF动画问题

c# - 如何让FolderBrowserDialog仅显示网络

android - 更改音频流媒体站时,Android应用变慢

javascript - 为什么 textbox.disabled= true 会清除文本框的文本?

c# - 如何在 RichTextBox C# 中处理 'align' 文本?

c# - 在 WPF 中获取用户输入的简单、快速的方法?

android - 确定 mediaplayer 的 opencore 或 stagefright 框架?

Android ListView 视频列表

c# - 如何在 C# 中合并列表中的日期范围