【发布时间】:2015-07-14 19:02:21
【问题描述】:
是否可以使用 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。我引用了这个:MediaPlayer cannot play file names without an extension 并尝试对注册表进行一些更改,但它们似乎没有解决问题。再次,任何建议表示赞赏。当我获得更多信息时,我将继续更新此线程。
【问题讨论】:
标签: c# wpf media-player