Windows Phone 播放音频之MediaPlayer

  前面介绍了Windows Phone 播放音频之SoundEffect,不过这种方式只能播放WAV格式的音频。下面就介绍一种小巧轻便,简单易用,并且支持格式多,还可直接从Uri中加载的方式。既通过MediaPlayer和Song类实现音频播放的方式。这两个类也是属于 XNA Framework ,所以需要添加引用 Microsoft.Xna.Framework。
  1.由于在XNA中每33fp就会更新画面一次,所以在Silverlight Application中需要透过指定一个定期执行 FrameworkDispatcher.Update() 的事件。

        //设置定时器
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(33);
timer.Tick += delegate { try { FrameworkDispatcher.Update(); } catch { } };
timer.Start();

  2.通过Song创建音频对象,并通过MediaPlayer播放。

        try
{
//创建音频对象
Song song = Song.FromUri("Music", new Uri("/Song/yule.mp3", UriKind.Relative));
//设置为循环播放
MediaPlayer.IsRepeating = true;
//启动播放
MediaPlayer.Play(song);
}
catch (System.Exception ex)
{
//创建音频对象失败,uri错误时
}

  3.音频暂停,复位,停止。

        //暂停
MediaPlayer.Pause();
//复位
MediaPlayer.Resume();
//停止
MediaPlayer.Stop();

  4.设置音频播放的音量。

        //音量取值范围为[0,1],默认值为0.85,设置为0.5
MediaPlayer.Volume = 0.5F;

  通过Song和MediaPlayer可以播放多种格式的音频,并且使用也相当的简单方便。不过同样需要引入XNA库,并且通过Song.FromUri创建Song对象的音频文件只能是资源文件,不能是独立存储中的文件。对于独立存储中的文件,暂时还没有找到创建Song对象的API,还期望同大家一同探讨。

转载于:https://www.cnblogs.com/huizhang212/archive/2012/03/13/MediaPlayer.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值