Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.NET应用程序中播放视频_C#_.net_Wpf_Winforms_Video - Fatal编程技术网

C# 在.NET应用程序中播放视频

C# 在.NET应用程序中播放视频,c#,.net,wpf,winforms,video,C#,.net,Wpf,Winforms,Video,最近,我一直在尝试安装media center PC。我使用了所有常见的media center应用程序,如XBMC、Plex、Boxee和WMC。但他们都有这样或那样的问题。所以我想从头开始写我自己的应用程序 我的问题是,我没有开发播放视频或音乐等媒体的软件的经验。考虑到所有不同的文件格式和编解码器,我也不想花费大量的时间来尝试解决这个问题。我更感兴趣的是为我的应用程序开发数据库和库接口,并重用其他人的控件或代码来实际播放媒体 我想的一个选择是从外部控制现有的媒体播放器。例如,你可以浏览一个视

最近,我一直在尝试安装media center PC。我使用了所有常见的media center应用程序,如XBMC、Plex、Boxee和WMC。但他们都有这样或那样的问题。所以我想从头开始写我自己的应用程序

我的问题是,我没有开发播放视频或音乐等媒体的软件的经验。考虑到所有不同的文件格式和编解码器,我也不想花费大量的时间来尝试解决这个问题。我更感兴趣的是为我的应用程序开发数据库和库接口,并重用其他人的控件或代码来实际播放媒体

我想的一个选择是从外部控制现有的媒体播放器。例如,你可以浏览一个视频在我的应用程序中播放,然后当你点击播放时,它就会启动VideoLAN或其他流行的视频播放器


然而,我想知道是否有一种在.NET应用程序中播放视频的简单方法。我正在寻找的东西,是能够发挥多种格式,如MKV文件,和DVD ISOs。我对WinForms有更多的经验,但也在考虑将此项目作为学习WPF的机会。

最简单的方法是使用现有的.Net钩子连接到Microsoft的标准MediaPlayer:


最简单的方法是使用Microsoft标准MediaPlayer的现有.Net挂钩:


不久前我尝试在winforms中播放媒体,发现有用于.Net的vlc包装,不知道它们有多好,因为我放弃了,但你可以试试

以下是其中之一:

不久前,我尝试在winforms中播放媒体,发现.Net有vlc包装器,不知道它们有多好,因为我放弃了,但你可以试试

以下是其中之一:

我花了很多年时间研究在wpf下播放视频

简短的回答

没有简单的方法可以保证能够在wpf mkv、dvd等或windows下播放各种格式

长话短说

如果您只是想在家里运行而不是发布它,请安装所有需要的编解码器,大多数格式将通过wpf中的mediaelement运行

让所有编解码器合作有时会令人沮丧

现在进入稍微困难的领域。 如果要播放DVD,则需要用wpfmediakit替换mediaelement

wpfmediakit提供了一个基本库来访问低级directshow功能。 基于wpfmediakit播放DVD已经有了一个代码库

现在进入非常艰难的领域


如果您希望分发应用程序并让用户能够观看大多数/所有媒体格式,则意味着您需要能够完全控制其编解码器,这通常意味着将编解码器与软件包一起分发,并在代码中构建directshow过滤器图,而不是让windows构建它。

我花了很多年时间研究在wpf下播放视频

简短的回答

没有简单的方法可以保证能够在wpf mkv、dvd等或windows下播放各种格式

长话短说

如果您只是想在家里运行而不是发布它,请安装所有需要的编解码器,大多数格式将通过wpf中的mediaelement运行

让所有编解码器合作有时会令人沮丧

现在进入稍微困难的领域。 如果要播放DVD,则需要用wpfmediakit替换mediaelement

wpfmediakit提供了一个基本库来访问低级directshow功能。 基于wpfmediakit播放DVD已经有了一个代码库

现在进入非常艰难的领域


如果您希望分发应用程序并让用户能够观看大多数/所有媒体格式,则意味着您需要能够完全控制其编解码器,这通常意味着将编解码器与您的软件包一起分发,并在代码中构建directshow筛选器图,而不是让windows构建它。

感谢所有伟大的答案。但是刚刚发现VLC实际上是可以的。所以我想我要用它来指出一个VLC实例,它使用HTTP接口在我想播放的任何文件上运行。

感谢所有伟大的答案。但是刚刚发现VLC实际上是可以的。所以我想我要用它来指出一个VLC的实例,它使用HTTP接口在我想播放的任何文件上运行。

MediaPortal是基于.NET的开放源代码的-MediaPortal是基于.NET的开放源代码的-