向WPF表面应用程序添加声音效果

本文关键字:声音 音效 添加 应用程序 WPF 表面 | 更新日期: 2023-09-27 18:06:13

我试图在WPF表面应用程序中触摸/移动对象时播放声音,以描述它已被选中或其运动。这是我试过的,但似乎不起作用。

SoundPlayerAction soundPlayerAction = new SoundPlayerAction();
soundPlayerAction.Source = new Uri(@"C:'Resources'Selection.wav", UriKind.RelativeOrAbsolute);
EventTrigger eventTrigger = new EventTrigger(TouchEnterEvent); // this is the event you want to trigger the sound effect.
eventTrigger.Actions.Add(soundPlayerAction);

向WPF表面应用程序添加声音效果

在你的项目中创建一个新文件夹,并将其重命名为SOUNDS,然后将你的声音文件插入其中,并尝试如下:

  SoundPlayerAction soundPlayerAction = new SoundPlayerAction();
    soundPlayerAction.Source = new Uri(@"SOUNDS'Selection.wav", UriKind.RelativeOrAbsolute);

    EventTrigger eventTrigger = new EventTrigger(TouchEnterEvent); // this is the event you want to trigger the sound effect.
    eventTrigger.Actions.Add(soundPlayerAction);
     Triggers.Add(eventTrigger); // Add this event trigger to Window.Triggers collection.

C:'Resources'Selection.wav显然不是声音文件的正确路径。

您应该在Visual Studio项目中创建一个名为"Resources"的文件夹,并将声音文件添加到该文件夹中。然后进入声音文件的属性,将其Build Action设置为Resource,也将Copy to Output Directory设置为Copy awaysCopy if newer

现在您可以通过如下的相对Uri访问文件:

soundPlayerAction.Source = new Uri("Resources/Selection.wav", UriKind.Relative);

我遇到了这个链接https://www.youtube.com/watch?v=nF-HYoTurc8,稍微改变了一下我的代码,声音工作了:D

在PreviewTouchDown方法中,我添加了:

SoundPlayer soundPlayerAction = new SoundPlayer(TangramsTool.Properties.Resources.Selection);
soundPlayerAction.Play();