【问题标题】:Playing sound on button click while moving to other page C#移动到其他页面C#时在按钮单击时播放声音
【发布时间】:2014-01-09 22:05:50
【问题描述】:

我正在使用 C#,我试图让我的按钮单击导航到一个新页面,以播放声音。问题是我听不到声音播放,因为媒体元素在前一页中。有没有办法播放声音但在所有页面中都听到它? 这是我的代码:

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

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

【问题讨论】:

    标签: c# button audio navigation


    【解决方案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));
    
     }
    

    【讨论】:

    • 你需要使用 Windows.ApplicationModel 导入;并使用 Windows.Storage;我做了一个编辑
    • 大声笑,这是我的错误对不起...我只是忘记了无效...我已经导入了这些;)非常感谢它成功了! :D
    • 实际上它并没有完美地工作......我仍然有问题。声音只在我第二次按下按钮时播放......当我第一次按下按钮并导航到游戏时没有声音,但如果我再次返回主菜单然后再次按下它,我就会听到声音
    • 在我的干净测试项目中,它从第一次开始就完美运行。也许重建您的项目并确保文件已嵌入。
    • 刚试过,还是一样:/我不知道出了什么问题...我构建它,重新构建它,但没有任何改变
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 2016-01-24
      相关资源
      最近更新 更多