首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

Android游戏开发基础part8-游戏音乐与音效

2012-06-26 
Android游戏开发基础part8--游戏音乐与音效Android游戏开发基础part8--游戏音乐与音效在我印象中一款出色

Android游戏开发基础part8--游戏音乐与音效

Android游戏开发基础part8--游戏音乐与音效

     在我印象中一款出色的游戏都会有精彩的背景音乐和音效的,PC游戏中,我玩过的鬼泣就是我认为比较不错的游戏,手机游戏,由于自己手机的档次不够高,玩过的游戏也不多,我最期待的极品飞车14没能玩到,好像说不适屏吧,我的手机才3.1寸,在触屏智能手机横行的年代,3.1寸算不上大的了,换做几年前还勉强可以。

     在Android中,常用于播放游戏背景音乐的类是MediaPlayer,而用于游戏音效的则是SoundPool类。

 

1.MediaPlayer

MediaPlayer实例化是通过调用静态方法create(Context context, int resid)得到的。

MediaPlayer类常用的函数有:

·prepare():为播放音乐文件做准备工作。

·start():播放音乐。

·pause():暂停音乐播放。

·stop():停止音乐播放。

·setLooping(boolean looping):设置音乐是否循环播放。

·seekTo(int msec):将音乐播放跳转到某一时间点。

·getDuration():获取播放音乐文件总时间长度。

·getCurrentPosition():得到当前播放音乐的时间点。

音乐管理类AudioManager,常用的函数:

1.setStreamVolume(int streamType, int index, int flags)

作用:设置音量大小

第一个参数:音量类型

第二个参数:音量大小

第三个参数:设置一个或者多个标识

2.getStreamVolume(int streamType)

作用:获取当前音量大小

参数:获取音量大小的类型

3.getStreamMaxVolume(int streamType)

作用:获取当前音量的最大值

参数:获取音量大小的类型

创建实例:MediaPlayerProject,需要导入一个音频文件

项目目录截图:

Android游戏开发基础part8-游戏音乐与音效  Android游戏开发基础part8-游戏音乐与音效

 

==>MySurfaceView.java


2.SoundPool

构造函数:SoundPool(int maxStreams, int streamType, int srcQuality)

SoundPool常用函数:

int load(Context context, int resId, int priority)

作用:加载音乐文件,返回音乐ID

第一个参数:Context实例

第二个参数:音乐文件Id

第三个参数:标识优先考虑的声音

int play(int soundID,float leftVolume,float rightVolume,,int priority,int loop,float rate)

作用:音乐播放

第一个参数:加载后得到的音乐文件ID

第二个参数:音量的左声道,范围:0.0~1.0

第三个参数:音量的右声道,范围同上

第四个参数:音乐流的优先级,0是最低优先级

第五个参数:音乐的播放次数,-1:无限循环,0:正常一次,大于0:则表示循环次数。

第六个参数:播放速率。取值范围:0.5~2.0,1.0为正常播放

pause(int streamID)

作用:暂停音乐播放

参数:音乐文件加载后的流ID

stop(int streamID)

作用:结束音乐播放

参数:音乐文件加载后的流ID

release()

作用:释放SoundPool资源

setLoop(int streamID,int loop)

作用:设置循环次数

第二个参数:音乐文件加载后的流ID

第二个参数:循环次数

setRatee(int stream,float rate)

作用:设置播放速率

setVolume(int streamID,float leftVolume,float rightVolume)

作用:设置音量大小

setPriority(int streamID,int priority)

作用:设置流的优先级。

 

创建实例:SoundPoolProject

项目代码:

==>MySurfaceView.java


 

 

 

热点排行