在wp7的silverlight中使用什么来播放声音效果

本文关键字:播放 声音 音效 什么 wp7 silverlight | 更新日期: 2023-09-27 17:58:12

我知道我可以为SoundEffect类引用XNA,这就是我迄今为止所做的,但我想知道是否有比我所做的更好的方法。

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using (var stream = TitleContainer.OpenStream("test.mp3"))
{
          var effect = SoundEffect.FromStream(stream);
          FrameworkDispatcher.Update();
          effect.Play();
}

对于我的测试应用程序,我有20个声音,每1秒长,我想在按下按钮后播放。我正在尝试不同的技术,但如果可能的话,在我致力于制作一款基于音效的应用程序之前,我想知道专业人士是如何做到这一点的。一些小事情,比如先加载音效,或者在按下按钮的情况下加载它,都会很有帮助。

谢谢。

在wp7的silverlight中使用什么来播放声音效果

如果我是你,我会使用PhoneyTools SoundEffectPlayer

此类用于播放SoundEffect使用XNA集成的对象。这个玩家必须活得足够长播放的音效,所以很常见使其作用域位于方法之外。例如:

public partial class MediaPage : PhoneApplicationPage
{
  // ...
  SoundEffectPlayer _player = null;
  private void playButton_Click(object sender, RoutedEventArgs e)
  {
    var resource = Application.GetResourceStream(new Uri("alert.wav", UriKind.Relative));
    var effect = SoundEffect.FromStream(resource.Stream);
    _player = new SoundEffectPlayer(effect);
    _player.Play();
  }
}

我认为AppHub上的官方示例就是一个很好的例子。它演示了如何播放多种声音。您可以从这里直接下载示例。

此示例演示如何使用XNA框架的音效和要播放的SoundEffectInstance类在一个适用于Windows的Silverlight应用程序电话它还展示了一种简单的方法设置要调用的DispatchTimerFrameworkDispatcher.更新以便模拟XNA的游戏循环框架的内部结构。最后显示如何加载波形音频文件可以播放的流SoundEffect类。