android的发音功能实现,Android 使用 ToneGenerator 编写按键发声功能
private ToneGenerator mToneGenerator;
private Object mToneGeneratorLock = new Object();//监视器对象锁
private boolean mDTMFToneEnabled; //按键操作音
private static final int TONE_LENGTH_MS = 150;//延迟时间
void playTone(int tone) {
// TODO 播放按键声音
if (!mDTMFToneEnabled) {
return;
}
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int ringerMode = audioManager.getRingerMode();
if ((ringerMode == AudioManager.RINGER_MODE_SILENT)
|| (ringerMode == AudioManager.RINGER_MODE_VIBRATE)) {//静音或震动时不发出按键声音
return;
}
synchronized(mToneGeneratorLock) {
if (mToneGenerator == null) {
Log.w(TAG, "playTone: mToneGenerator == null, tone: "+tone);
return;
}
mToneGenerator.startTone(tone, TONE_LENGTH_MS);//发声
}
}
protected void onResume(){
super.onResume();
mDTMFToneEnabled = Settings.System.getInt(getContentResolver(),
Settings.System.DTMF_TONE_WHEN_DIALING, 1) == 1;//获取系统参数“按键操作音”是否开启
synchronized(mToneGeneratorLock) {
if (mToneGenerator == null) {
try {
mToneGenerator = new ToneGenerator(AudioManager.STREAM_MUSIC, 80);
setVolumeControlStream(AudioManager.STREAM_MUSIC);
} catch (RuntimeException e) {
Log.w(TAG, "Exception caught while creating local tone generator: " + e);
mToneGenerator = null;
}
}
}
}
?
android的发音功能实现,Android 使用 ToneGenerator 编写按键发声功能相关推荐
- android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例
Android利用RecyclerView实现全选.置顶和拖拽功能示例 发布时间:2020-08-23 16:26:42 来源:脚本之家 阅读:159 作者:爱开发 前言 今天给大家分享是如何在Rec ...
- Android系统移植与调试之-------如何修改Android设备添加重启、飞行模式、静音模式等功能(一)...
1.首先先来看一下修改前后的效果对比图 修改之后的图片 确认重启界面 具体的修改内容在下一篇中具体介绍. Android系统移植与调试之------->如何修改Android设备添加重启.飞行模 ...
- android短信功能裁剪,Android短信发送功能实现技巧分享
如现在启动一模拟器id 号为5554,运行cmd telnet localhost 5554 输入help 可以看到很多用于模拟器中的功能命令 gsm call 134343434 // 便是呼叫 ...
- android 新浪财经截屏分享,[图]Android 12截图曝光:启用全新UI 增强隐私保护功能...
原标题:[图]Android 12截图曝光:启用全新UI 增强隐私保护功能 来源:cnBeta.COM Android 12 有望在今年秋季上线,相关的开发者预览版和 Beta 版本有望在本月晚些时候 ...
- 三行代码接入,社交软件打字时底下弹出的表情布局,自定义ViewPager+页面点标+各种功能的android小框架。...
(转载请声明出处:http://www.cnblogs.com/linguanh/) 前言: 接上次分享的 ListView 动态加载类,入口:http://www.cnblogs.com/lingu ...
- android 脸部识别之3D,2018年高通将推出整合3D脸部识别功能的Android手机芯片
根据国外科技网站CNET的报导,手机芯片大厂高通(Qualcomm)目前打算在针对Android手机设计的处理器产品中,加入支持红外线3D传感技术.也就是说,未来Android手机从处理器方面就会支持 ...
- android中布局全屏,怎么在Android 应用中实现一个全屏与非全屏功能
怎么在Android 应用中实现一个全屏与非全屏功能 发布时间:2020-12-04 17:31:45 来源:亿速云 阅读:135 作者:Leah 怎么在Android 应用中实现一个全屏与非全屏功能 ...
- React Native 轻松集成分享功能(Android 篇)
关于推送的集成请参考这篇文章,关于统计的集成请参考这篇文章,本篇文章将引导你集成分享功能. 在集成插件之前,需要在各大开放平台上成功注册应用,并通过审核(支持 3 个可选的主流平台).支持的平台如下: ...
- Android仿支付宝UI功能开发,Android 自定义view仿支付宝咻一咻功能
支付宝上有一个咻一咻的功能,就是点击图片后四周有水波纹的这种效果,今天也写一个类似的功能. 效果如下所示: 思路: 就是几个圆的半径不断在变大,这个可以使用动画缩放实现,还有透明动画 还有就是这是好几 ...
最新文章
- JS计算起点坐标到终点坐标的驾车距离和驾车时间
- 组策略分发软件全攻略
- Linux系统下GCC编译错误:“undefined reference to ‘sqrt‘”
- 函数传参string_JavaScript 高阶函数入门浅析
- SqlServer优化:当数据量查询不是特别多,但数据库服务器的CPU资源一直100%时,如何优化?...
- linux编译测试代码,rtc在linux上的测试代码
- python - 接口自动化测试 - MysqlUtil - 数据库操作封装
- AWVS14.7破解版免费获取
- 50个C/C++面试题
- 如何在word中的图片上画圈标注_怎么在word画圈标注 如何在word图片中进行画圈标示...
- 设定个人发展目标和计划
- 经纬财富:乐山稳健投资之道,积小胜为大胜
- 贤弟单腾,因崔思婷,机器人类打字~~~~~~
- 2020的Android凉了?聊聊 Android 现状及出路!
- 当语音遇到人工智能,走进《智能语音时代》
- 学生认证免费使用pycharm专业版
- MySQL通过sql语句获取当前日期|时间|时间戳
- 干货分享 | 如何在业余时间学习数据分析?
- MY资源网址整合记录
- ZXCK在线翻译效果截图