【问题标题】:VS 2013 Windows Store .. Media ElementVS 2013 Windows Store .. 媒体元素
【发布时间】:2015-03-24 15:20:13
【问题描述】:

我正在制作一个 Windows 商店应用程序,我正在尝试为按钮添加声音,以便在您单击它时发出声音。我完成了编码,没有错误,但声音没有播放。 任何帮助表示赞赏。

XAML

<Button x:Name="Explore" HorizontalAlignment="Left" Height="163"        Margin="692,461,0,0" VerticalAlignment="Top" Width="546" BorderThickness="0" Click="Explore_Click"/>

<MediaElement x:Name="suprise" Source="Assets/suprise.mp3" AutoPlay="False" Visibility="Collapsed" HorizontalAlignment="Left" Height="147" Margin="108,285,0,0" VerticalAlignment="Top" Width="533" RenderTransformOrigin="0.5,0.5"/>

xaml.cs

private void Explore_Click(object sender, RoutedEventArgs e)
{
    this.Frame.Navigate(typeof(Explore));
    suprise.Play();
}

【问题讨论】:

    标签: c# xaml visual-studio-2012


    【解决方案1】:

    MediaElement 需要在可视树中才能播放,并且在被移除时会停止。由于 Explore_Click 在惊喜播放之前导航离开,惊喜无法播放它的声音。

    你有几个选择:

    1. 在调用 Frame.Navigate 之前让惊喜完成。该应用可以处理惊喜的MediaEnded 事件并在那里导航。

    2. 在“探索”页面上放置惊喜,并在到达该页面时播放它

    3. 在包含应用程序普通页面的 Frame 之外的页面中使用全局 MediaElement。这将使 MediaElement 保留在可视树中,即使应用程序在其下切换页面也是如此。如果您想在应用程序期间播放一致的配乐,通常需要这样做,但对于特殊效果则不需要。我在我的博客文章Frame of reference: keeping the music playing across pages

    4. 中更详细地讨论了这种方法

    【讨论】:

    • 仍然无法正常工作,我对其进行了更改,因此当您在转到其他页面之前单击按钮时会播放惊喜声音,但仍然没有
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多