西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发其它知识 → Windows Phone 游戏开发中实现XNA 播放声音和音乐

Windows Phone 游戏开发中实现XNA 播放声音和音乐

相关软件相关文章发表评论 来源:西西整理时间:2012/9/27 16:14:48字体大小:A-A+

作者:佚名点击:38次评论:0次标签: XNA

  • 类型:系统其它大小:6.1M语言:中文 评分:10.0
  • 标签:
立即下载

本文将介绍如何使用 Visual Studio 和 XNA 在 Windows Phone 游戏中播放声音和音乐。

添加声音文件

我们首先需要在 Content 项目中添加两个声音文件,一个是 energy.wav,另一个是 won.mp3。

需要注意的是,这些文件需要符合一定的规范,否则无法被 XNA 识别,编译将出错。

加载声音

在 Game 类的 LoadContent 方法中,我们载入这两个声音,一个作为 SoundEffectInstance 类型,另一个作为 Song 类型,并保存在 sound 和 song 字段中。载入时,需要注意路径和资源的资产名称要匹配。

private SoundEffectInstance sound;        
private Song song;        
protected override void LoadContent ( )        
{        
    // TODO: 在此处使用 this.Content 加载游戏内容        
    this.sound = this.Content.Load<SoundEffect> (        
        @"sound/energy"
        ).CreateInstance ( );        
    this.song = this.Content.Load<Song> (        
        @"sound/won"
        );        
}

SoundEffectInstance 类型

你可以直接使用 SoundEffect 类型来播放声音,比如:子弹的声音,但你无法在声音播放时,播放另一个子弹的声音。而使用 SoundEffectInstance 则可以解决这个问题,你可以创建多个 SoundEffectInstance 来同时播放多个声音(同一个声音),比如:

SoundEffect bullet =       
    this.Content.Load<SoundEffect> (       
    @"sound/energy"
    );       
// 省略了代码。       
SoundEffectInstance bullet1 = bullet.CreateInstance ( );       
SoundEffectInstance bullet2 = bullet.CreateInstance ( );       
bullet1.Play ( );       
bullet2.Play ( );

此外 SoundEffectInstance 有另外两个重要的属性,State 表示当前的状态(播放,停止,暂停),Volume 表示音量。

Song 类型

Song 类型需要使用 MediaPlayer 类,也就是使用 Windows Phone 自带的 Media Player 来播放,而且同时只能播放一首音乐。我们判断游戏是否具有 Media Player 的控制权并且确定音乐是否不在播放状态,如果是则播放我们的音乐。

if ( MediaPlayer.GameHasControl &&      
    MediaPlayer.State != MediaState.Playing )      
    MediaPlayer.Play ( this.song );

如果需要控制音量和循环,则需要访问 MediaPlayer 的属性,IsRepeating 表示是否重复播放,Volume 表示 Media Player 的音量,State 表示播放状态。

好了,这里简单的给大家介绍了如何通过 XNA 中播放音乐,更多 XNA 内容,我们下次介绍。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)