0

我正在使用 windows phone sdk 7.1 制作一个简单的应用程序,每当用户点击画布时,我都需要播放简短的声音效果。Tap如果出现画布或任何其他控件,我该如何添加这个未来?

我只知道Uri项目文件夹中的文件:

"/TestApp;component/Resources/Untitled.wma"
4

4 回答 4

2

最简单的方法是使用SoundEffectPlayer来自PhoneyTools的。在你的课堂上这样声明

SoundEffectPlayer _player = null;

初始化它

var resource = Application.GetResourceStream(new Uri("/TestApp;component/Resources/Untitled.wma", UriKind.Relative));
var effect = SoundEffect.FromStream(resource.Stream);
_player = new SoundEffectPlayer(effect);

然后只需调用

_player.Play();
于 2013-07-19T22:23:08.437 回答
1

我发现以下解决方案最适合播放声音通知。它还可以播放 .WMA 文件。

public static void PlayMessageFailedSound()
    {
        var s = Song.FromUri("MessageFailed", new Uri(@"Resources/Alert_nudge.wma", UriKind.Relative));
        FrameworkDispatcher.Update();
        MediaPlayer.Play(s);
    }
于 2013-08-19T07:39:14.073 回答
0

您还可以添加一个媒体元素控件,将其源属性设置为您的文件,然后只需在点击事件处理程序中调用 player.Play()

于 2013-07-19T22:40:13.267 回答
-1

好吧,我想出了正确的方法:

private void PlayDuuuu()
{
    StreamResourceInfo stream = Application.GetResourceStream(new Uri("/AppName;component/Untitled.wav", UriKind.Relative));
    SoundEffect soundeffect = SoundEffect.FromStream(stream.Stream);
    SoundEffectInstance soundInstance = soundeffect.CreateInstance();
    FrameworkDispatcher.Update();
    soundInstance.Play();
}

我还发现声音文件不能是 WMA 格式...

于 2013-07-21T10:29:53.080 回答