Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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# 播放任何声音文件(或至少普通音频文件)_C#_Audio_Media Player_Mediaelement_Naudio - Fatal编程技术网

C# 播放任何声音文件(或至少普通音频文件)

C# 播放任何声音文件(或至少普通音频文件),c#,audio,media-player,mediaelement,naudio,C#,Audio,Media Player,Mediaelement,Naudio,我正在用C#开发一个音乐播放器。对于播放音频文件,我发现.NET提供了许多播放音频的方法: 通过Microsoft.DirectX.AudioVideoPlayback.dll使用Microsoft.DirectX.AudioVideoPlayback 通过其COM组件使用Windows Media Player控件 右键单击工具箱->选择项->COM组件->查找并添加“Windows Media Player”ActiveX控件 使用 使用 然而,我的问题是选择最合适的方法。考虑到我的

我正在用C#开发一个音乐播放器。对于播放音频文件,我发现.NET提供了许多播放音频的方法:

  • 通过Microsoft.DirectX.AudioVideoPlayback.dll使用Microsoft.DirectX.AudioVideoPlayback
  • 通过其COM组件使用Windows Media Player控件
右键单击工具箱->选择项->COM组件->查找并添加“Windows Media Player”ActiveX控件

  • 使用

  • 使用

然而,我的问题是选择最合适的方法。考虑到我的应用程序只会播放主要的音频文件(AAC、MP3、WMA和WAV),有人能建议选择哪种方法吗?如果可能的话,请告诉我每种方法的优缺点。
谢谢你期待的帮助

DirectX可能是最好的方法,但很难构建

如果您正在开发WPF应用程序,则MediaElement将更容易,因为较低级别的实现由WPF负责

如果您需要自定义UI,WMP Activex控件需要进行大量调整,MSDN中的联机文档还有很多需要改进的地方


我自己开发了使用WPF和WMP activeX控件的播放器,而使用WPF媒体元素的播放器已经相当稳定了

您忘记了MediaElement类。谢谢。我现在真的很犹豫,因为我担心我可能会走上一条艰难的道路。至少你的评论能帮我减轻痛苦