单击停止并重新启动到0

时间:2015-02-19 18:07:56

标签: xaml visual-studio-2012 windows-phone-8 visual-studio-2013

    <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,它会重新开始。此外,我不希望在一个人正在播放时播放另一个声音。

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();
}