• 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,还期望同大家一同探讨。

  • 相关阅读:
    Asp.Net Mvc: 应用BindAttribute
    Mvc内建功能(DefaultModelBinder)自动绑定。
    生成随机字母字符串(数字字母混和)
    C#中实现输入汉字获取其拼音(汉字转拼音)的2种方法
    集合里查找数据
    C#自定义导出数据到Excel中的类封装
    MySQL性能优化的最佳20+条经验
    DevExpress.XtraGrid.view.gridview 属性说明
    c# 连接Mysql数据库
    ADO.NET 结构 集中数据库联接结构
  • 原文地址:https://www.cnblogs.com/huizhang212/p/MediaPlayer.html
Copyright © 2020-2023  润新知