在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秒长,我想在按下按钮后播放。我正在尝试不同的技术,但如果可能的话,在我致力于制作一款基于音效的应用程序之前,我想知道专业人士是如何做到这一点的。一些小事情,比如先加载音效,或者在按下按钮的情况下加载它,都会很有帮助。
谢谢。
如果我是你,我会使用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类。