我正在寻找播放MP3文件的方法,而没有任何第三方播放它(媒体播放器等)有没有办法做到这一点? 谢谢。
答案 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类进行播放。