[android] soundpool简介

本文介绍了一种用于游戏开发的声音池管理技术,通过创建一个声音资源池,避免了频繁创建和销毁对象,提高了资源利用率。具体实现包括在raw目录下存放未压缩资源,在onCreate方法中初始化SoundPool对象,并利用load()方法异步加载资源,play()方法播放声音,以实现在游戏开发中的高效声音管理。

主要的应用场景是游戏开发的时候,声音都比较短,比较密集,使用这个api来实现

 

池:实现了一个链表,旧的资源不会被释放掉,而是存起来,等用的时候,重新使用

不会创建过多的对象

 

res资源目录里面创建一个目录raw,这个目录的意思是未经压缩的资源,它会在R文件中生成一个id

获取SoundPool对象,通过new SoundPool(maxStream,streamType,srcQuality),参数:maxStream是最多声音数量,AudioManager.STREAM_MUSIC 0

调用SoundPool对象的load()方法,参数:上下文,资源id R.raw.xxx1,得到一个int soundId

上面的方法,需要放在onCreate()方法里面,因为他是异步的加载资源

 

调用SoundPool对象的play()方法,播放,参数:soundId,左声道1.0f,右声道1.0f,优先级0,是否循环0,播放速率1.0f

转载于:https://www.cnblogs.com/taoshihan/p/5349311.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值