我有一个Windows Forms应用程序,我试图使用NAudio库从资源中简单地播放MP3文件。C#使用NAudio从资源播放MP3文件
我相信需要做的是以某种方式流式传输文件,这里是NAudio的一个例子,不幸的是它接受文件路径字符串作为参数。
private WaveStream CreateInputStream(string fileName)
{
WaveChannel32 inputStream;
if (fileName.EndsWith(".mp3"))
{
WaveStream mp3Reader = new Mp3FileReader(fileName);
inputStream = new WaveChannel32(mp3Reader);
}
else
{
throw new InvalidOperationException("Unsupported extension");
}
volumeStream = inputStream;
return volumeStream;
}
要播放的文件:
与正常文件waveOutDevice = new WaveOut();
mainOutputStream = CreateInputStream("C:\\song.mp3");
工作正常,我将如何去那个位于资源文件? 谢谢。
谢谢你我的朋友为.wav,完美的作品!如何在演奏完后妥善处理? –
@AgentSmith检测播放结束(可能使用'WaveOut'的'PlaybackStopped'事件)并在'mp3reader'和'mp3file'上调用'Dispose'方法。 'Mp3FileReader'不会处理你提供的流,所以你需要在两者上调用'Dispose'。 – Corey