使用SoundPool播放音效】的更多相关文章

针对应用程序经常需要播放密集.短促的音效,因为MediaPlayer存在如下缺点: 1.资源占用量较高.延迟时间较长. 2.不支持多个音效同时播放. SoundPool使用音效池的概念来管理多个短促的音效,例如它可以开始就加在20个音效,以后在程序中按音效的ID进行播放. SoundPool主要用于播放一些较短的声音片段,与MediaPlayer相比,SoundPool的优势在于CPU资源占用量低和反映延迟小.另外,SoundPool还支持自行设置声音的品质.音量.播放比率等参数. SoundP…
MediaPlayer的缺点: 资源占用量高,延时时间较长 不支持多个音效同一时候播放 SoundPool主要用于播放一些较短的声音片段,CPU资源占用率低和反应延时小,还支持自行色设置声音的品质,音量,播放比率等參数,避免使用SoundPool来播放歌曲或者做游戏背景音乐,仅仅有那些短促的密集的声音才考虑使用SoundPool播放 构造器: public SoundPool (int maxStreams, int streamType, int srcQuality) Parameters…
在Android开发中我们经常使用MediaPlayer来播放音频文件,但是MediaPlayer存在一些不足,例如:资源占用量较高.延迟时间较长.不支持多个音频同时播放等.这些缺点决定了MediaPlayer在某些场合的使用情况不会很理想,例如在对时间精准度要求相对较高的游戏开发中. 本文地址:http://www.cnblogs.com/wuyudong/p/5679191.html,转载请注明源地址. 在游戏开发中我们经常需要播放一些游戏音效(比如:子弹爆炸,物体撞击等),这些音效的共同特…
AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注册到系统声音服务(System Sound Service).System Sound Service是一种简单.底层的声音播放服务,但是它本身也存在着一些限制: 音频播放时间不能超过30s 数据必须是PCM或者IMA4格式 音频文件必须打包成.caf..aif..wav中的一种(注意这是官方文档的说法,实际测试发现一些.mp3也可以播放) 使用System Sound Service 播放音效…
最近遇到一个cocos2dx 骨骼动画注册事件播放音效,在骨骼动画播放的时候,按HOME键退到桌面,再次打开游戏的时候,会黑屏. 解决办法如下,可能不是太完美,至少解决了大部分问题. 1.在org.cocos2dx.lib下的 Cocos2dxRenderer.java 中添加native方法 public static native void setIsPause(boolean isPause); 2.在Cocos2dxRenderer.java对应的Java_org_cocos2dx_li…
当你美滋滋的在时间线中播放音效的时候,你要想到音效时间线并不适于播放同步于游戏事件的声音,比如碰撞和加速时. 它同样不能被用来播放背景循环的声音,这就本质上拒绝了通过timeline播放背景音乐.甚至当你撇开这个事实---流体音频应该通过ObjectAL的"long audio"的后台音频(audio-playback)来播放(AVAudioPlayer)…
1.此问题在cocos2dx 3.13/3.14版本(其它版本没有测试过)在Android7中使用AudioEngine的play2d函数播放音效时出现. 调试时出现如下提示: 2.论坛中相关讨论帖地址:http://forum.cocos.com/t/android7/44119 3.解决办法: 将cocos2d-x\cocos\audio\android\AudioPlayerProvider.cpp中的getSystemAPILevel() < 17都改为getSystemAPILevel…
html5手机端播放音效不卡的方法线下载http://wxserver.knowway.cn/solosea/js/audioEngine.js 这个是性能不错 然后直接播放音效就可以了 audioEngine.playEffect('/solosea1/music/laidian.mp3', false); 如果切换不了 可以先stop 然后再play audioEngine.stopEffect('/hcfabuhui/music/2.mp3'); 如果延迟 是其他代码性能影响了 预加载也没…
SoundPool 最大只能申请1M的内存空间,只能用一些很短的声音片段,而不是用它来播放歌曲或者做游戏背景音乐. 使用 SoundPool 播放短声音实现步骤如下: // 创建SoundPool实例, 指定最大可以加载声音为3个 SoundPool soundPool = new SoundPool(3, AudioManager.STREAM_MUSIC, 0); // 分别加载三个不同的声音 int shoot1ID = soundPool.load(this, R.raw.shoot1,…
开发过程中遇到一个问题,一个8秒的音效,在android机器上播放不完就结束了:网上说是由于android播放音效的内存限制的:原因知道了,那怎么解决呢? 通过各种搜索查找发现还是解决不了问题,然后自己各种尝试,首先查找网上看到的降低音效比特率,将音效比特率降到128,再测测试,失败:继续降,64.32,仍然失败.于是果断的不在研究比特率,又去研究音效本身,发现这个音效是个立体音,那么就将音效变为单声道试试吧,一尝试,还真行. 解决办法: 1:先降低音频比特率试试: 2:看音效是不是立体音,是立…