欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Windows Phone 播放音频之MediaPlayer

程序员文章站 2023-01-23 08:03:39
前面介绍了windows phone 播放音频之soundeffect ,不过这种方式只能播放wav格式的音频。下面就介绍一种小巧轻便,简单易用,并且支持格式多,还可直接从uri中加载的方...

前面介绍了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,还期望同大家一同探讨。

 

摘自  宇之乐