我正在制作一个音调,然后我将它放入WaveProviderbuffers中,然后我将该音调与另一个文件混合,然后播放该混音,但onPlaybackStopped未被调用。
我已将WaveProviderbuffers转换为Waverstreams 我用它来制作WaveChannel32。 我设置PadWithZeroes = false,但仍然没有调用stop事件。
旁注如果我在没有混合WaveProviderbuffers的情况下播放文件,则会调用stop事件,这样就可以了。
我错过了什么?
WaveProviderToWaveStream wptws = new WaveProviderToWaveStream(Sinebuffer,Sinebuffer.BufferLength);
WaveChannel32 temp = new WaveChannel32(wptws); temp.PadWithZeroes = false; mixer.AddMixerInput(温度); mixer2 = new SampleToWaveProvider(混音器); waveout.Init(mixer2);
waveout.Play(); stopToolStripMenuItem.Enabled = true; puaseToolStripMenuItem.Enabled = true; playToolStripMenuItem.Enabled = false;
音调在我设定的时间停止播放,但停止事件仍未被调用
答案 0 :(得分:0)
您的播放图表中有一个永无止境的waveprovider。在这种情况下,它可能是BufferedWaveProvider
。我还建议不要使用WaveChannel32
和WaveMixerStream32
- 请改用SampleChannel
和MixingSampleProvider
。