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