C# 实现音频播放的最佳方法

C# 实现音频播放的最佳方法,c#,audio,ffmpeg,libavcodec,C#,Audio,Ffmpeg,Libavcodec,我正在开发一个可以读取文件路径并播放音频文件的应用程序。我正试图通过使用现有的编解码器和免费/开放的实用程序使这一点尽可能简单。我想就最好的方法提出一些建议。我有两个想法,都涉及FFmpeg: 创建一个简单的GUI,允许用户读取要播放的传入文件,然后在后台运行ffplay.exe进程来播放文件 只需使用libavcodec,并将我的项目基于它提供的功能,就可以进行更深入的研究 对此,我只有几个主要目标 能够读入和播放多个文件,且文件之间没有中断 在曲目中的任意位置(基于总持续时间的百分比)开始

我正在开发一个可以读取文件路径并播放音频文件的应用程序。我正试图通过使用现有的编解码器和免费/开放的实用程序使这一点尽可能简单。我想就最好的方法提出一些建议。我有两个想法,都涉及FFmpeg:

  • 创建一个简单的GUI,允许用户读取要播放的传入文件,然后在后台运行ffplay.exe进程来播放文件
  • 只需使用libavcodec,并将我的项目基于它提供的功能,就可以进行更深入的研究
  • 对此,我只有几个主要目标

    • 能够读入和播放多个文件,且文件之间没有中断
    • 在曲目中的任意位置(基于总持续时间的百分比)开始播放
    • 在任意时间后停止播放,并移动到下一个曲目
    我的两种方法中哪一种似乎最适合这个项目?有没有一个更好的——或者功能密集度更低的——替代FFmpeg的方法

    这适用于用C#编写的Windows应用程序

    编辑:我开始使用FFmpeg的原因之一是它可以处理许多文件类型,尤其是MP3、AAC和Flac

    Edit2:如果使用libavcode.dll是最好的选择,那么获得一些关于在C#中实现该功能的信息也会很有帮助。

    具有C#绑定,并且可以很好地与通用音频格式(例如MP3)配合使用,并带有其他格式(例如AAC)的插件


    但是,对于商业开发,您需要获得使用BASS的许可证。

    谢谢!BASS有很好的文档记录,可以轻松地与C#集成,并且具有大量的功能!