我有一个WMA文件,其中包含许多不同的音频。
有什么方法可以播放声音流吗?
就像是:
public static void Play(Stream soundStream, long start, long end);
最佳答案
您可能可以使用NAudio进行此操作,它是.Net的音频库。
使用示例here,我可以抛出一个快速测试应用程序进行尝试。使用WaveSteam.Skip(int seconds)方法,您可以从文件中的特定位置开始。我还无法弄清楚如何获得终点位置。下面是在30秒标记处启动wma文件的修改后的示例:
IWavePlayer waveOutDevice = new WaveOut();
WaveStream mainOutputStream;
WaveChannel32 volumeStream;
WaveStream wmaReader = new WMAFileReader(@"F:\My Music\The Prodigy\Music for the Jilted Generation\01 Intro.wma");
volumeStream = new WaveChannel32(wmaReader);
mainOutputStream = volumeStream;
mainOutputStream.Skip(30); //start 30 seconds into the file
waveOutDevice.Init(mainOutputStream);
waveOutDevice.Play();
上面的示例省略了清除代码以停止播放并丢弃流。希望有点帮助。