<StackPanel>
<MediaElement x:Name="UnMediaElement"
Height="10"
Width="10"
Source="/Assets/sounds/unu.wav"
AutoPlay="False" />
<Button x:Name="play1SoundButton"
Height="80"
Width="200"
HorizontalAlignment="Left"
Content="Play Sound"
Click="play1SoundButton_Click" />
</StackPanel>
我有2个按钮。当我按下按钮1时,它会发出声音。当我按下按钮2时,我希望声音停止并重新启动到0。现在,如果我按下button1然后按2然后再按下按钮1,它会重新开始。此外,我不希望在一个人正在播放时播放另一个声音。
答案 0 :(得分:0)
1)您的播放器不会停止循环音频而是暂停它。如果您使用的音频控件具有&#34; controlName.pause();&#34;寻找&#34; controlname.Stop();&#34;。这将停止整个音频循环,然后当您点击&#34; Play Sound&#34;时将从头开始。试。
2)在音频控制上,如果您的控件正在使用(播放内容),将会有一个标记方法返回给您。如果是,您可以停止播放下一个音频。
在阅读本文之后回到代码之前,几乎没有简单的事情。
如果您发布一些代码并显示您遇到问题的地方会更好。我不能不给你理论上的答案,因为没有关于你的方法究竟做了什么的信息。
编辑:根据您发布的代码,将您的方法更改为以下内容。那么你应该能够播放无缝媒体。
private void play1SoundButton_Click(object sender, RoutedEventArgs e)
{
if (DoiMediaElement.CurrentState == MediaElementState.Playing)
{
DoiMediaElement.Stop();
}
UnMediaElement.Play();
}
private void play2SoundButton_Click(object sender, RoutedEventArgs e)
{
if (UnMediaElement.CurrentState == MediaElementState.Playing)
{
UnMediaElement.Stop();
}
DoiMediaElement.Play();
}