SoundPool概率性无声问题
public class SoundManager {
private static SoundManager instance;
private SoundPool mSoundPool;
private float cur_engine_volume = 0.7f;
private int mSoundCount = 3;
private int mLockOn;
private int mLockOff;
protected SoundManager() {
mSoundPool = new SoundPool(mSoundCount, AudioManager.STREAM_MUSIC, 0);
mLockOn = mSoundPool.load(MainApplication.getInstance(), R.raw.lock_on, 1);
mLockOff = mSoundPool.load(MainApplication.getInstance(), R.raw.lock_off, 1);
}
public static SoundManager getInstance() {
if (instance == null) {
synchronized (SoundManager.class) {
if (instance == null) {
instance = new SoundManager();
}
}
}
return instance;
}
public void lockOn() {
mSoundPool.play(mLockOn, cur_engine_volume , cur_engine_volume , 1, 0, 1);
}
public void lockOff() {
mSoundPool.play(mLockOff, cur_engine_volume , cur_engine_volume , 1, 0, 1);
}
}
上面是一个短音频加载类,前辈的,不知道那整的。类没有问题,只要你不一气呵成 SoundManager.getInstance().lockOff() 。
SoundPool
第一个参数代表能够同时播放的最大音效数。这里切忌合理使用,写的太大后会报错。
第二个参数为声音的类型。如上为播放音乐的音频,其他还有电话铃声的音频,通知的音频,报警的音频等等。
第三个参数为采样率转换器质量,目前没有效果。使用0作为默认值。
SoundPool.load 使用了独立的线程,不会阻塞UI主线程的操作。但是这里如果音效文件没有载入完成,我们调用play方法时可能。。。
第一个参数为上下文
第二个参数为音频文件
第三个参数为声音的优先级。目前没有效果。使用值1表示将来的兼容性。
SoundPool.play
第一个参数为流中第几个文件,为load方法的返回值。和load方法配合使用
第二个参数为左音量,值为0~1。
第三个参数为右音量,值为0~1。
第四个参数为优先级(0=最低优先级)
第五个参数为是否循环。0表示不循环,1以上表示循环次数,-1一直循环。
第六个参数为播放速率。0.5-2之间。0.5表示减慢50%,2表示加速播放。
SoundPool概率性无声问题的更多相关文章
- MT6755 使用R63350 IC 出现唤醒概率性闪白,并导致ESD FAIL
现象描述. 手机自动灭屏后按power键或home 键点亮屏幕,概率性上方有白色的一道,还会闪两三下屏.使用的LCM IC是:r63350, (FHD VDO)屏,附件为mtklog看看是什么原因? ...
- 解Bug之路-记一次调用外网服务概率性失败问题的排查
前言 和外部联调一直是令人困扰的问题,尤其是一些基础环境配置导致的问题.笔者在一次偶然情况下解决了一个调用外网服务概率性失败的问题.在此将排查过程发出来,希望读者遇到此问题的时候,能够知道如何入手. ...
- php实现概率性随机抽奖代码
1.初始数据: 权重越大,抽取的几率越高 [奖品1, 权重 5], [ 奖品2, 权重6], [ 奖品3, 权重 7], [ 奖品4, 权重2] 2.处理步骤: 1)N = 5 + 6 + 7 + 2 ...
- (转)Unity导出Android在高通骁龙800以上CPU概率性崩溃解决方法研究
Android上的奇葩问题真的是太多了,开始测试反馈说游戏在某些Android手机上随机crash,后来经过详细的测试发现随机闪退的手机都是搭载了高通骁龙800以上的CPU.然后连上真机当crash的 ...
- 使用 Infer.NET 进行概率编程
本文介绍了如何使用 Infer.NET 进行概率性编程. 概率性编程是一种将自定义模型表示为计算机程序的机器学习方法. 借助它可以在模型中包含专业知识,使机器学习系统更易理解. 它还支持在线推断,即在 ...
- [NOIP2016]换教室(概率期望$DP$)
其实吧我老早就把这题切了--因为说实话,这道题确实不难啊--李云龙:比他娘的状压DP简单多了 今天我翻以前在Luogu上写的题解时,突然发现放错代码了,然后被一堆人\(hack\)--蓝瘦啊\(ORZ ...
- BZOJ2337: [HNOI2011]XOR和路径 期望概率dp 高斯
这个题让我认识到我以往对于图上期望概率的认识是不完整的,我之前只知道正着退还硬生生的AC做过的所有图,那么现在让我来说一下逆退,一般来说对于概率性的东西都只是正推,因为有了他爸爸才有了他,而对于期望性 ...
- 室内定位系列(一)——WiFi位置指纹(译)
原文:<Advanced Location-Based Technologies and Services>--chapter 2 WiFi Location Fingerprint 作者 ...
- Android应用性能优化(转)
人类大脑与眼睛对一个画面的连贯性感知其实是有一个界限的,譬如我们看电影会觉得画面很自然连贯(帧率为24fps),用手机当然也需要感知屏幕操作的连贯性(尤其是动画过度),所以Android索性就把达到这 ...
随机推荐
- CMD批处理(1)——批处理常用命令总结
echo 打开回显或关闭回显功能,或显示消息.如果没有任何参数,echo命令将显示当前的回显设置. 命令格式1:echo [{on|off}] 命令格式2:echo [message] 例.在命令 ...
- redis学习第一天
不同于其他的常用关系型数据库,redis是一个非常轻便,体积小,存放键值对的数据库,常用于构建高性能,可扩展的Web应用程序. 这是我第一次接触redis,之前没有使用过,只听说过.因为刚毕业,找工作 ...
- kube-controller-manager源码分析-PV controller分析
kubernetes ceph-csi分析目录导航 概述 kube-controller-manager组件中,有两个controller与存储相关,分别是PV controller与AD contr ...
- Python中Random随机数返回值方式
1.a=["1","2","3"] print(random.choice(a)), 随机返回列表a中的一个元素 print(random ...
- Pycharm破解版_安装从失败到成功
前言: 入门学习的时候一直用的是社区版的,现在想换个专业版的玩玩. 本文使用的环境说明: win10系统 安装过pycharm社区版,已卸载 已安装python 3.8.5 (建议看完整篇文章后再自行 ...
- Qt 串口通信之使用16进制发送数据的转换方式
Qt 串口通信之使用16进制发送数据的转换方式 一 概述 有时候在做上位机串口通讯时,经常需要将字符串转成16进制的形式作为发送,借此分析记录一下. 二 需求分析 //假设需要转换的字符:如下 QSt ...
- “限时分享“ 本地80个小游戏 HTML+CSS+JS源码分享
里面有80款小游戏源码,支持内置导航,可以拿来练手或者消磨时间,具体功能以及游戏请看下图 维京战争小游戏源码 链接:https://pan.baidu.com/s/ ...
- 【面试】详解同步/异步/阻塞/非阻塞/IO含义与案例
本文详解同步.异步.阻塞.非阻塞,以及IO与这四者的关联,毕竟我当初刚认识这几个名词的时候也是一脸懵. 目录 1.同步阻塞.同步非阻塞.异步阻塞.异步非阻塞 1.同步 2.异步 3.阻塞 4.非阻塞 ...
- let const关键字
let 是取代var 在块级作用域里面有效 <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- 微信app支付,完整流程,完整代码 (转)
微信app支付流程 需要的配置参数 private function wechat($body,$indent_id,$cou,$user_id,$total_fee,$ip,$domain,$non ...