很抱歉这个标题。我想不出比这更好的了。另外,我为我的英语感到抱歉。
我有这四种表格。窗体2-4有一个按钮,按下该按钮将播放窗体1中的特定声音。有时三个窗体中的所有按钮几乎同时按下,这会导致窗体1中播放的音频彼此重叠。我如何防止这种情况发生?
编辑:当所有按钮都被按下时,我希望音频在播放时“轮流”播放。“音频2,3”必须等待“音频1”播放完毕才能播放,然后音频3“也必须等待”音频2“结束。每个”音频播放“都由一个SpeechSynthesizer (使用.SpeakAsync播放)和一个SoundPlayer (使用.PlaySync播放)组成。我的互联网服务提供商中断了,所以我只是使用我的手机。很难在我的手机上手动输入代码,非常抱歉。
发布于 2018-09-01 21:34:40
嗨,我做了一个类似的事情,在我制作的一个游戏中,我遇到了声音在彼此之间播放的问题。在处理声音的方法中,我这样做:
SoundPLayer sound = new SoundPlayer(..);
SoundPLayer anotherSound = new SoundPlayer(..);
public async void gameMethod()
{
sound.Play();
await Task.Delay(400); //length of sound
//some code ...
anotherSound.Play();
}这对我很有效,只是使用await Task.Delay(..)添加了更多的声音-不确定这是否是实现这一点的方法,但它可能会有所帮助
https://stackoverflow.com/questions/52128509
复制相似问题