在移动到另一个页面时按下按钮播放声音C#

时间:2014-01-09 22:05:51

标签: c# button audio navigation

我正在使用C#而我正在尝试点击按钮,将我导航到新页面,播放声音。问题是我无法听到声音播放,因为媒体元素在上一页中。有没有办法播放声音,但在所有页面中听到它? 这是我的代码:

    private void Button_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
    {
        this.Frame.Navigate(typeof(Game));
        select.Play();
    }

选择是我的声音.wav,如果我没有导航代码,它会播放....

2 个答案:

答案 0 :(得分:1)

播放从一种形式到另一种形式的声音文件应该可以正常工作。 我将文件放在项目中的Sounds文件夹中

using Windows.ApplicationModel;
using Windows.Storage;

private async void ButtonPlay_Click(object sender, RoutedEventArgs e)
{
    MediaElement snd = new MediaElement();
    StorageFolder folder = await Package.Current.InstalledLocation.GetFolderAsync("Sounds");
    StorageFile file = await folder.GetFileAsync("Alarm01.wav");
    var stream = await file.OpenAsync(FileAccessMode.Read);
    snd.SetSource(stream, file.ContentType);
    snd.Play();
    this.Frame.Navigate(typeof(Game));

 }

答案 1 :(得分:1)

这样就解决了我第一次打开应用时声音无法播放的问题。 :)

using Windows.ApplicationModel;
using Windows.Storage;



MediaElement snd = new MediaElement();

    private async void ButtonPlay_Click(object sender, RoutedEventArgs e)
{
    StorageFolder folder = await Package.Current.InstalledLocation.GetFolderAsync("Sounds");
    StorageFile file = await folder.GetFileAsync("Alarm01.wav");
    var stream = await file.OpenAsync(FileAccessMode.Read);
    snd.SetSource(stream, file.ContentType);
    this.Frame.Navigate(typeof(Game));
 }