在Windows 8 Metro App(C#/ XAML)中同时播放两种声音

Cil*_*vic 6 c# audio microsoft-metro windows-8

我是一个Windows 8 Metro应用程序(C#/ XAML):如何触发相同的声音效果两次,以便它同时播放.

第二场比赛应该在第一场比赛结束前开始.

相关问题是:

同时播放两个声音c#同时播放两个声音

我找到了XNA这个类,我做了我想要的,但在Metro下没有:http: //msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.soundeffectinstance.aspx

Cil*_*vic 17

只需为每个声音效果创建一个单独的媒体元素.

(不确定我每次都需要重新定位文件)

  public async void PlayLaserSound()
    {
        var package = Windows.ApplicationModel.Package.Current;
        var installedLocation = package.InstalledLocation;
        var storageFile = await installedLocation.GetFileAsync("Assets\\Sounds\\lazer.mp3");
        if (storageFile != null)
        {
            var stream = await storageFile.OpenAsync(Windows.Storage.FileAccessMode.Read);
            MediaElement snd = new MediaElement();
            snd.SetSource(stream, storageFile.ContentType);
            snd.Play();
        }
    }
Run Code Online (Sandbox Code Playgroud)