向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);
在你的项目中创建一个新文件夹,并将其重命名为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 aways
或Copy 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();