游戏中的声音

按声音的功能不同可分为:音乐和音效。

 

音效的特点是:快、短,即:时间短,反应快。

所以不能使用播放较长时间音乐的播放技术,应该使用 android.media.SoundPool 来实现。

 

SoundPool 类用于管理和播放应用程序里的声音资源,该类将声音文件加载到内存中,出于性能考虑,一般只将时间小于7秒的声音文件用该技术播放。

 

在用 SoundPool 类播放文件时首先要得到一个 SoundPool 类的对象。

可通过其构造方法:public SoundPool (int maxStreams, int streamType, int srcQuality) 得到其对象。

 

public SoundPool () {

int maxStreams, // 设置同时能够播放多少个音效

int streamType, // 设置音频类型,游戏中通常设为:STREAM_MUSIC

int srcQuality // 设置音频文件的质量,现在还没效果,一般设为0

}

 

有了 SoundPool 对象之后,就可以将音频文件加载到该对象中。

 

加载音频文件可用 public int load (Context context, int resId, int priority) 来加载。

public int load (

Context context, // 应用程序的上下文,即当前的Activity, 可以理解为谁来调用这个方法

int resId, // 资源的ID

int priority // 优先级,现在还没作用,设置为1,以便和未来的方法兼容

)

 

现在就可以播放音效了,可以通过 public final int play (int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate) 方法播放音效。

public final int play (

int soundID, // 播放的音乐ID

int leftVolume, // 控制左声道音量

int rightVolume, // 控制右声道音量

int priority, // 优先级,0为最低

int loop, // 循环次数,0为不循环,-1为永久循环

float rate // 回放速度,该值在 0.5 - 2.0 之间,1为正常速度

)

 

在播放的同时也可以暂停音乐:

public final void pause (int streamID) 方法可以暂停播放音乐,streamID 是音效的ID。


文章摘自:http://www.3aj.cn/android/article/2/7851.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值