文档章节

android开发笔记之多媒体—SoundPool(音效池)

Mr_Nice
 Mr_Nice
发布于 2016/05/22 20:00
字数 462
阅读 5
收藏 0

使用SoundPool播放音效

——如果应用程序经常需要播放密集,短促的音效。这时还用Mediaplayer就显得不合适。

——MediaPlayer的缺点:资源占用量较高,延迟时间较长不支持多个音频同时播放。

——SoundPool使用音效池来播放一些较短的声音片段,它的优势资源占用量低和反应延迟小。

使用步骤:

1.创建对象:new SoundPool(num,stream,0)

    第一个参数指定支持多少个声音

    第二个参数指定声音类型

    第三个参数指定声音品质,还没有启作用

    如:soundPool = new SoundPool(3,AudioManager.STREAM_MUSIC, 0);

    在android21的版本建议使用SoundPool中的内部类来创建:

    SoundPool pool=new SoundPool.Builder().setMaxStreams(3).build();   

2.添加音频:load()加载声音,最好使用hashMap来管理:

HashMap<Integer,Integer>

load(Context context,int resId,int priority)

load(String path,int priority)priority播放声音的优先级,目前没有启作用  

如:int id=soundPool.load(this,R.raw.nudge,1)
            map.put(1,soundPool.load(this,R.raw.nudge,1));
           返回的该声音的ID,之后就根据该ID来播放指定声音

3.播放:play(int,float,float,int,int,float)

      第一个参数指定播放哪个声音
      第二三个参数指定左右音量(0.0-1.0)
      第四个参数播放声音的优先级,值越大越优先播放,0最小
      第五个参数是否循环,0不循环,-1循环
      第六个参数播放的比率,1为正常的,(范围0.5-2.0)  

      如:soundPool.play(pools.get(1), 1, 1, 0,0,1);

   暂停:pause()
   停止:stop()
   释放资源:release();       

注意:
1)在硬件较差的客户端中,SoundPool比MediaPlay使用延迟更大
2)避免使用SoundPool来播放歌曲获取做游戏的背景音乐。只有那些短促,密集的声音才考虑使用SoundPool进行播放。

© 著作权归作者所有

共有 人打赏支持
Mr_Nice
粉丝 0
博文 47
码字总数 39947
作品 0
广州
Android中的soundpool小结

之前只知道android中可以用mediaplayer播放音乐,原来今天才发现 可以用soundpool,用soundpool可以播一些短的反应速度要求高的声音, 比如游戏中的爆破声,而mediaplayer适合播放长点的。 1....

Carl_
2015/01/08
0
0
android开发中音频的使用

当进行android开发或游戏开发时,常常会涉及背景音乐的播放,以及短音效的使用 1.当涉及到背景音乐等长音乐播放时通常使用MediaPlayer类进行播放操作 MediaPlayer类常用方法: 1.public sta...

qq_38555940
05/28
0
0
android mediaplayer相关记录 备忘

音频播放和视频播放使用mediaplayer,视频播放也可以使用vidioview,它是封装了mediaplayer和SurfaceView,但是自定义性不如mediaplyer VideoView videoView = new VideoView(this);setConte...

广阔
2012/09/10
0
0
Android SoundPool 的简单使用

之前只知道Android中可以用MediapLayer播放音乐,原来今天才发现可以用SoundPool,用SoundPool可以播一些短的反应速度要求高的声音,比如游戏中的爆破声,而MediapLayer适合播放长点的。 一般...

秀宇
2015/11/26
286
0
【Android游戏开发之八】游戏中添加音频-详解MediaPlayer与SoundPoo!并讲解两者的区别和游戏中的用途!

李华明Himi 原创,转载务必在明显处注明: 转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/312.html 很多童鞋说我的代码运行后,点击home或者back后会程序异常,...

迷途d书童
2012/03/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0
LNMP架构(Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl)

Nginx负载均衡 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时...

蛋黄_Yolks
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部