6

Windows 8 Metro アプリ (C#/XAML): 同じ効果音を 2 回トリガーして同時に再生するにはどうすればよいですか。

2 番目のプレイは、最初のプレイが終了する前に開始する必要があります。

関連する質問は次のとおりです。

2 つのサウンドを同時に再生する c# および2 つのサウンドを同時に再生する

私が望むことを行うXNA用のこのクラスを見つけましたが、Metroでは利用できません: http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.soundeffectinstance.aspx

4

1 に答える 1

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();
        }
    }
于 2012-06-09T12:54:54.770 に答える