如何播放声音文件

时间:2008-09-24 20:17:18

标签: c# audio mp3

使用C#,如何播放(暂停,转发...)声音文件(mp3,ogg)?该文件可能位于硬盘上,也可能位于互联网上。

那里有没有可以让我轻松工作的图书馆或班级?

5 个答案:

答案 0 :(得分:7)

如果您不介意在项目中包含 Microsoft.VisualBasic.dll ,可以这样做:

var audio = new Microsoft.VisualBasic.Devices.Audio();
audio.Play("some file path");

如果你想做更复杂的事情,我所知道的最简单的方法是使用 Windows Media Player API 。您添加DLL,然后使用它。 API有点笨重,但确实有效;我用它来制作我自己的音乐播放器包装Windows Media Player供个人使用。以下是一些有用的链接,可帮助您入门:

Building a Web Site with ASP .NET 2.0 to Navigate Your Music Library

Windows Media Object Model

Let the Music Play!

修改

自从我写这篇文章以来,如果您不介意在代码中包含WPF类,我会找到一种更简单的方法。 WPF(.NET 3.0和转发版)有一个MediaPlayer类,它是Windows Media Player的包装器。这意味着您不必编写自己的包装器,这很好,因为如上所述,WMP API相当笨重且难以使用。

答案 1 :(得分:4)

我会推荐BASS Library。 它可以播放基于文件的音乐文件和流媒体内容。 还有一个.NET包装器。

答案 2 :(得分:2)

Alvas.AudioRecordPlayer课程,有以下几种可能性:

        public static void TestRecordPlayer()
        {
            RecordPlayer rp = new RecordPlayer();
            rp.PropertyChanged += new PropertyChangedEventHandler(rp_PropertyChanged);
            rp.Open(new Mp3Reader(File.OpenRead("in.mp3")));
            rp.Play();
            rp.Forward(1000);
            rp.Pause();
        }

        static void rp_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            switch (e.PropertyName)
            {
                case RecordPlayer.StateProperty:
                    RecordPlayer rp = ((RecordPlayer)sender);
                    if (rp.State == DeviceState.Stopped)
                    {
                        rp.Close();
                    }
                    break;
            }
        }

答案 3 :(得分:0)

答案 4 :(得分:0)

媒体播放器控制 - 基本上是媒体播放器使用的。您可以将它放在您的程序中,并且可以使用一个API来控制它。我认为这是最好的快速解决方案。