SoundPool工具类

public class SoundPoolUtil {private static SoundPool soundpool;private static SoundPoolUtil instance;private static Context context;public static SoundPoolUtil getInstance(Context mcontext) {if (instance == null) {instance = new SoundPoolUtil();}context = mcontext;if (Build.VERSION.SDK_INT > 21) {SoundPool.Builder builder = new SoundPool.Builder();//传入音频数量builder.setMaxStreams(20);//AudioAttributes是一个封装音频各种属性的方法AudioAttributes.Builder attrBuilder = new AudioAttributes.Builder();//设置音频流的合适的属性attrBuilder.setLegacyStreamType(AudioManager.STREAM_MUSIC);//加载一个AudioAttributesbuilder.setAudioAttributes(attrBuilder.build());soundpool = builder.build();} else {
//        第一个参数为soundPool可以支持的声音数量,这决定了Android为其开设多大的缓冲区,第二个参数为声音类型,
//        在这里标识为系统声音,除此之外还有AudioManager.STREAM_RING以及AudioManager.STREAM_MUSIC等
//        系统会根据不同的声音为其标志不同的优先级和缓冲区,最后参数为声音品质,品质越高,声音效果越好,但耗费更多的系统资源soundpool = new SoundPool(20, AudioManager.STREAM_SYSTEM, 5);}//第二个参数资源文件,第三个参数为声音的优先级,当多个声音冲突而无法同时播放时,系统会优先播放优先级高的。soundpool.load(context, R.raw.closed, 1);soundpool.load(context, R.raw.closing, 1);soundpool.load(context, R.raw.opened, 1);soundpool.load(context, R.raw.opening, 1);soundpool.load(context, R.raw.opening2, 1);soundpool.load(context, R.raw.stop, 1);soundpool.load(context, R.raw.doerror, 1);soundpool.load(context, R.raw.beep, 1);soundpool.load(context, R.raw.bindcamera, 1);soundpool.load(context, R.raw.id, 1);soundpool.load(context, R.raw.login, 1);soundpool.load(context, R.raw.logined, 1);soundpool.load(context, R.raw.loginfail, 1);soundpool.load(context, R.raw.offline, 1);soundpool.load(context, R.raw.paizhao, 1);soundpool.load(context, R.raw.timeout, 1);soundpool.load(context, R.raw.wifi, 1);
//监听加载资源完成的回调
soundpool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {@Overridepublic void onLoadComplete(SoundPool soundPool, int sampleId, int status) {}
});
       return instance;}/*播放,你想要播放第几个就传入几
play(资源号上面设置的顺序, 左声道音量 ,右声道音量,优先级,循环播放次数-1为一直循环,回放速度:该值在0.5-2.0之间 1为正常速度)*/public void play(int pid) {soundpool.play(pid, 1, 1, 0, 0, 1);}
}

SoundPool详解相关推荐

  1. Android开发之SoundPool详解

    1. 创建一个SoundPool (构造函数) public SoundPool(int maxStream, int streamType, int srcQuality)  maxStream - ...

  2. 【Android游戏开发之八】游戏中添加音频-详解MediaPlayer与SoundPoo!并讲解两者的区别和游戏中的用途!...

    为什么80%的码农都做不了架构师?>>>     李华明Himi 原创,转载务必在明显处注明: 转载自 [黑米GameDev街区] 原文链接:  http://www.himigam ...

  3. android中oncreate方法,android开发之onCreate( )方法详解

    这里我们只关注一句话:This is where you should do all of your normal static set up.其中我们只关注normal static, normal ...

  4. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  5. JVM年轻代,老年代,永久代详解​​​​​​​

    秉承不重复造轮子的原则,查看印象笔记分享连接↓↓↓↓ 传送门:JVM年轻代,老年代,永久代详解 速读摘要 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家.在 ...

  6. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  7. 通俗易懂word2vec详解词嵌入-深度学习

    https://blog.csdn.net/just_so_so_fnc/article/details/103304995 skip-gram 原理没看完 https://blog.csdn.net ...

  8. 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG) 优化算法

    深度学习优化函数详解系列目录 深度学习优化函数详解(0)– 线性回归问题 深度学习优化函数详解(1)– Gradient Descent 梯度下降法 深度学习优化函数详解(2)– SGD 随机梯度下降 ...

  9. CUDA之nvidia-smi命令详解---gpu

    nvidia-smi是用来查看GPU使用情况的.我常用这个命令判断哪几块GPU空闲,但是最近的GPU使用状态让我很困惑,于是把nvidia-smi命令显示的GPU使用表中各个内容的具体含义解释一下. ...

  10. Bert代码详解(一)重点详细

    这是bert的pytorch版本(与tensorflow一样的,这个更简单些,这个看懂了,tf也能看懂),地址:https://github.com/huggingface/pytorch-pretr ...

最新文章

  1. 空心磁珠铁氧体抗干扰屏蔽磁环RH磁通高频磁芯圆形穿心磁珠滤波器
  2. java垃圾回收system_java应用性能调优之详解System的gc垃圾回收方法
  3. C# json解析字符串总是多出双引号_在JavaScript应用中将CSV转换为JSON
  4. 开学测试代码——需求征集系统
  5. Linux内核深入理解系统调用(1):初始化-入口-处理-退出
  6. 人生是什么?——感悟2:绝望时候要相信自己
  7. eclipse返回值快捷键
  8. Docker 网络模型之 macvlan 详解,图解,实验完整
  9. SpringBoot整合RabbitMQ之Fanout Exchange扇形(广播式)交换机(学习总结)
  10. unicode编码对照表
  11. mysql数据驱动问题hour_day_of 0 ->1
  12. 基于深度学习的小目标检测方法的调查和性能评估
  13. python学习方法总结(内附python全套学习资料)
  14. 项目中引用Iconfont(阿里巴巴矢量图标)的方式
  15. bootstrap-table表格排序问题
  16. NOKOV动作捕捉系统使多场协同无人机自主建造成为可能
  17. java 反射无参方法_无参构造方法 ? 反射
  18. 罗裳轻解,看C++怎样拥java入怀……
  19. matlab 定义张量,如何使用MATLAB作张量运算
  20. gcc编译 -I头文件目录 -L lib库目录 -l动态库文件

热门文章

  1. SpringCloud教程合集
  2. HFSS - 侧馈矩形微带天线设计与仿真
  3. modbus tcp调试助手_wemos D1 arduino项目实战1-TCP协议连接Tlink平台①
  4. DEA数据包络分析python代码记录
  5. 打破思维定势,创新景区门票网络分销模式
  6. Windows 搭建 FTP 服务器
  7. OpenPose的使用
  8. WPF教程:依赖属性
  9. 千月影视admin漏洞
  10. 嵌入式Linux驱动开发整体框架