C# - 如果不支持Windows Media Player,则会出错

时间:2012-09-27 21:32:16

标签: c# windows media-player wmp

我正在使用我的c#-project中的Windows媒体播放器(Interop.WMPLib.dll和AxInterop.WMPLib.dll)来从服务器传输mp3。唯一的问题是,如果Windows媒体播放器以某种方式不支持在PC上(未安装或其他东西),我的应用程序只是给出一个错误(没有例外,只是一个“Windows错误”)并且不会启动。

那么,是否可以检查是否支持Windows媒体播放器?只检查操作系统是否受支持可能无济于事。

是否有更好的方式来流式传输MP3而不是使用WMP?

提前致谢。

2 个答案:

答案 0 :(得分:1)

查看密钥HKLM\Software\Microsoft\Active Setup\Installed Components\{22d6f312-b0f6-11d0-94ab-0080c74c7e95}HKLM\Software\Microsoft\MediaPlayer\下的IsInstalled值。如果已安装,则为1。

如果您不想依赖WMP,请尝试第三方玩家。 VLC还支持如此多的编解码器。

http://wiki.videolan.org/.Net_Interface_to_VLC
http://vlcdotnet.codeplex.com/
http://www.codeproject.com/Articles/109639/nVLC
http://sourceforge.net/projects/libvlcnet/

答案 1 :(得分:0)

我想将此问题提高一级,并以编程方式解决媒体播放器的缺失问题,因为这是我解决方案中不必要的部分。 如有兴趣,请查看https://stackoverflow.com/questions/17103532/optional-use-of-embed-wmp-on-windows-server