【发布时间】:2012-02-24 14:54:34
【问题描述】:
我正在使用nAudio 在我的 WPF 应用程序中播放背景歌曲。 现在开始一首歌曲的新实例,代码如下:
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;
}
这很好用,但仅到特定的文件路径。 现在,如果我尝试向此函数发送 Pack URL,则会收到不支持该格式的错误消息。 有人遇到过这个并且知道我应该怎么做吗?
已解决: 感谢 minitech 的回答,这段代码最终奏效了:
StreamResourceInfo resource = Application.GetResourceStream(
new Uri("YearBook;component/Resources/Music/1.mp3", UriKind.Relative));
mainOutputStream = CreateInputStream(resource.Stream);
waveOutDevice.Init(mainOutputStream);
private WaveStream CreateInputStream(Stream fileName)
{
WaveChannel32 inputStream;
WaveStream mp3Reader = new Mp3FileReader(fileName);
inputStream = new WaveChannel32(mp3Reader);
volumeStream = inputStream;
return volumeStream;
}
【问题讨论】: