我正在寻找一种在没有第三方播放器(媒体播放器等)的情况下播放MP3文件的方法。有没有什么方法可以做到?谢谢。
我写了一个名为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();
}
我不明白为什么你要避免使用第三方库。如果你在编写C#代码,那么你可能是在开发Windows应用程序,通常会有winmm.dll。因此,你可以导入并使用mciSendString
就像这个例子中一样。
然而,如果你将MP3数据转换为原始数据,你可以使用.NET SoundPlayer类来播放它。