C#表面(WPF)/声音效果->;字典<;字符串,MediaElement>;

C#表面(WPF)/声音效果->;字典<;字符串,MediaElement>;,c#,mediaelement,pixelsense,soundeffect,C#,Mediaelement,Pixelsense,Soundeffect,由于Microsoft Surface应用程序中缺少音效,我尝试在字典中用声音文件(.wav)构建一个“声音库” 声音文件很短 路径=路径文件 我的“声音银行”: SoundPlayer和MediaPlayer不适合,因为它们会停止所有其他播放的声音。我正在为我的项目使用now: 它非常容易使用: using IrrKlang; ... ISoundEngine engine = new ISoundEngine(); ... engine.Play2D(@"C:\Users\Public

由于Microsoft Surface应用程序中缺少音效,我尝试在字典中用声音文件(.wav)构建一个“声音库”

声音文件很短

路径=路径文件

我的“声音银行”:

SoundPlayer和MediaPlayer不适合,因为它们会停止所有其他播放的声音。

我正在为我的项目使用now:

它非常容易使用:

using IrrKlang;
...

ISoundEngine engine = new ISoundEngine();

...

engine.Play2D(@"C:\Users\Public\Documents\sound.wav");

最终简单的解决方案^ ^

尝试过DirectX吗?还是它太强大了?新的DirectX版本不支持托管代码(c#)!?我没有在DSound9上找到示例(doc和google都不符合我的目的)教程,我在游戏开发中使用了它,但它也应该适合您,尽管它会使您的代码更丰富:),所以我必须安装DirectX9 SDK。。。我试试,谢谢。我来报告;-)谢谢,我现在使用IrrKlang。IrrKlang每次都缓存sound.wav还是从磁盘加载它???虽然对于简单的应用程序来说这并不重要,但很有趣。IrrKlang可以为您处理一切()。它会自动缓存声音:)
public void play(string key)
    {

        soundBank[key].Stop();
        soundBank[key].Play();

    }
    void mp_MediaEnded(object sender, System.Windows.RoutedEventArgs e)
    {
        ((MediaElement)e.Source).Stop();
    }
using IrrKlang;
...

ISoundEngine engine = new ISoundEngine();

...

engine.Play2D(@"C:\Users\Public\Documents\sound.wav");