主要的应用场景是游戏开发的时候,声音都比较短,比较密集,使用这个api@H_301_3@来实现
池:实现了一个链表,旧的资源不会被释放掉,而是存起来,等用的时候,重新使用
不会创建过多的对象
在res@H_301_3@资源目录里面创建一个目录raw@H_301_3@,这个目录的意思是未经压缩的资源,它会在R@H_301_3@文件中生成一个id
获取SoundPool@H_301_3@对象,通过new SoundPool(maxStream,streamType,srcQuality)@H_301_3@,参数:maxStream@H_301_3@是最多声音数量,AudioManager.STREAM_MUSIC @H_301_3@, 0
调用SoundPool@H_301_3@对象的load()@H_301_3@方法,参数:上下文,资源id R.raw.xxx@H_301_3@,1@H_301_3@,得到一个int soundId
上面的方法,需要放在onCreate()@H_301_3@方法里面,因为他是异步的加载资源
调用SoundPool@H_301_3@对象的play()@H_301_3@方法,播放,参数:soundId@H_301_3@,左声道1.0f@H_301_3@,右声道1.0f@H_301_3@,优先级0@H_301_3@,是否循环0@H_301_3@,播放速率1.0f