<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>中文 &#187; jgl5987</title>
	<atom:link href="http://software.intel.com/zh-cn/blogs/author/jgl5987/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/zh-cn/blogs</link>
	<description></description>
	<lastBuildDate>Sat, 26 May 2012 06:34:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Android 游戏音效控制</title>
		<link>http://software.intel.com/zh-cn/blogs/2011/12/06/android-2/</link>
		<comments>http://software.intel.com/zh-cn/blogs/2011/12/06/android-2/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 09:43:51 +0000</pubDate>
		<dc:creator>jgl5987</dc:creator>
				<category><![CDATA[Android 开发]]></category>
		<category><![CDATA[博客征文专栏]]></category>
		<category><![CDATA[游戏]]></category>

		<guid isPermaLink="false">http://software.intel.com/zh-cn/blogs/2011/12/06/android-2/</guid>
		<description><![CDATA[  游戏音效就是我们在玩游戏时出现的音乐，这个也是每个游戏必备的一部分，但有是你做游戏的背景音乐有间断的感觉的话，我们可以用getCurrentPosition()这个方法来判断一下声音播放的偏移。其实这个也是非常简单的。只要我们在代码当中设置好(初始化声音)和(加载音效资源)就可以了，别的就和音乐播放器的代码差不多，像开始，停止。不多说了，我们还是先来看看代码当中是怎么实现音效的吧： //音效的音量 　　intstreamVolume; 　　 　　//定义SoundPool对象 　　privateSoundPoolsoundPool; 　　 　　//定义HASH表 　　privateHashMapsoundPoolMap; 　　 　　/*************************************************************** 　　*Function:initSounds(); 　　*Parameters:null 　　*Returns:None. 　　*Description:初始化声音系统 　　*Notes:none. 　　***************************************************************/ 　　publicvoidinitSounds(){ 　　//初始化soundPool对象,第一个参数是允许有多少个声音流同时播放,第2个参数是声音类型,第三个参数是声音的品质 　　soundPool=newSoundPool(100,AudioManager.STREAM_MUSIC,100); 　　 　　//初始化HASH表 　　soundPoolMap=newHashMap(); 　　 　　//获得声音设备和设备音量 　　AudioManagermgr=(AudioManager)context.getSystemService(Context.AUDIO_SERVICE); 　　streamVolume=mgr.getStreamVolume(AudioManager.STREAM_MUSIC); 　　} 　　 　　/*************************************************************** 　　*Function:loadSfx(); 　　*Parameters:null 　　*Returns:None. 　　*Description:加载音效资源 　　*Notes:none. 　　***************************************************************/ 　　publicvoidloadSfx(intraw,intID){ 　　//把资源中的音效加载到指定的ID(播放的时候就对应到这个ID播放就行了) 　　soundPoolMap.put(ID,soundPool.load(context,raw,ID)); 　　} 　　 　　/*************************************************************** 　　*Function:play(); 　　*Parameters:sound:要播放的音效的ID,loop:循环次数 　　*Returns:None. 　　*Description:播放声音 　　*Notes:none. 　　***************************************************************/ 　　publicvoidplay(intsound,intuLoop){ 　　soundPool.play(soundPoolMap.get(sound),streamVolume,streamVolume,1,uLoop,1f); 　　}]]></description>
			<content:encoded><![CDATA[<p> </p>
<p>游戏音效就是我们在玩游戏时出现的音乐，这个也是每个游戏必备的一部分，但有是你做游戏的背景音乐有间断的感觉的话，我们可以用getCurrentPosition()这个方法来判断一下声音播放的偏移。其实这个也是非常简单的。只要我们在代码当中设置好(初始化声音)和(加载音效资源)就可以了，别的就和音乐播放器的代码差不多，像开始，停止。不多说了，我们还是先来看看代码当中是怎么实现音效的吧：<br />
//音效的音量<br />
　　intstreamVolume;<br />
　　<br />
　　//定义SoundPool对象<br />
　　privateSoundPoolsoundPool;<br />
　　<br />
　　//定义HASH表<br />
　　privateHashMapsoundPoolMap;<br />
　　<br />
　　/***************************************************************<br />
　　*Function:initSounds();<br />
　　*Parameters:null<br />
　　*Returns:None.<br />
　　*Description:初始化声音系统<br />
　　*Notes:none.<br />
　　***************************************************************/<br />
　　publicvoidinitSounds(){<br />
　　//初始化soundPool对象,第一个参数是允许有多少个声音流同时播放,第2个参数是声音类型,第三个参数是声音的品质<br />
　　soundPool=newSoundPool(100,AudioManager.STREAM_MUSIC,100);<br />
　　<br />
　　//初始化HASH表<br />
　　soundPoolMap=newHashMap();<br />
　　<br />
　　//获得声音设备和设备音量<br />
　　AudioManagermgr=(AudioManager)context.getSystemService(Context.AUDIO_SERVICE);<br />
　　streamVolume=mgr.getStreamVolume(AudioManager.STREAM_MUSIC);<br />
　　}<br />
　　<br />
　　/***************************************************************<br />
　　*Function:loadSfx();<br />
　　*Parameters:null<br />
　　*Returns:None.<br />
　　*Description:加载音效资源<br />
　　*Notes:none.<br />
　　***************************************************************/<br />
　　publicvoidloadSfx(intraw,intID){<br />
　　//把资源中的音效加载到指定的ID(播放的时候就对应到这个ID播放就行了)<br />
　　soundPoolMap.put(ID,soundPool.load(context,raw,ID));<br />
　　}<br />
　　<br />
　　/***************************************************************<br />
　　*Function:play();<br />
　　*Parameters:sound:要播放的音效的ID,loop:循环次数<br />
　　*Returns:None.<br />
　　*Description:播放声音<br />
　　*Notes:none.<br />
　　***************************************************************/<br />
　　publicvoidplay(intsound,intuLoop){<br />
　　soundPool.play(soundPoolMap.get(sound),streamVolume,streamVolume,1,uLoop,1f);<br />
　　}</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/zh-cn/blogs/2011/12/06/android-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

