我是NAudio的新手,但我的项目的目标是为用户提供用户收听MP3的能力,然后选择该歌曲的样本或“块”作为可以保存到的样本磁盘。这些样本可以同时重放(即不合并但同时播放)。
有人可以让我知道实现这一目标所需的整体策略(......不一定是具体的......几乎就像pseduo代码......)。
例如,歌曲的样本/块需要保存为WAV文件。这些样本可以用WAV格式等一起播放。
我已经看到了一些关于我上面提到的一些想法的一些小例子,但是还没有很好的意义。
提前致谢, 安德鲁
答案 0 :(得分:0)
除非您将这些文件保留以备将来使用,否则不需要将这些块保存为WAV文件。您可以将PCM音频(Mp3FileReader
自动转换为PCM)存储在字节数组中,并使用RawSourceWaveStream
进行播放。
至于混合它们,我建议使用MixingSampleProvider
。这意味着您需要将RawSourceWaveStream
转换为IEEE float,但您可以使用Pcm16BitToSampleProvider
来执行此操作。这样做的好处是,您可以轻松调整您正在混合的样本的体积(并执行其他DSP)。 MixingSampleProvider
还会自动删除已完成的输入,因此您只需在想要触发声音时添加新输入即可。