使用C#播放MP3文件

时间:2012-03-10 09:33:31

标签: c# audio

我正在寻找播放MP3文件的方法,而没有任何第三方播放它(媒体播放器等)有没有办法做到这一点?  谢谢。

2 个答案:

答案 0 :(得分:8)

我编写了一个名为NAudio的开源库,可以执行此操作:

private IWavePlayer waveOut;
private Mp3FileReader mp3FileReader;

private void PlayMp3()
{
    this.waveOut = new WaveOut(); // or new WaveOutEvent() if you are not using WinForms/WPF
    this.mp3FileReader = new Mp3FileReader("myfile.mp3");
    this.waveOut.Init(mp3FileReader);
    this.waveOut.Play();
    this.waveOut.PlaybackStopped += OnPlaybackStopped;
}

private void OnPlaybackStopped(object sender, EventArgs e)
{
    this.waveOut.Dispose();
    this.mp3FileReader.Dispose();
}

答案 1 :(得分:0)

我不明白你为什么要避免使用第三方库。如果您使用c#进行编码,那么您可能正在为Windows开发,通常有winmm.dll。因此,您可以导入并使用mciSendString like in this example

但是,如果将MP3数据转换为原始数据,则可以使用.NET SoundPlayer类进行播放。