android连接耳机时音量控制,android – 扬声器音量(闹钟)在插入耳机时会降低
我正试图通过最大音量的警报通道通过扬声器发出警报声.为此,我正在使用AudioManager和MediaPlayer.如果我插入耳机,仍然会通过扬声器播放闹钟,但是通过扬声器播放的闹钟音量会急剧下降,因此无法满足我的需要.
有没有办法防止音量下降?
我正在使用的代码是这样的:
public void startAlarmSound() {
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audioManager.setSpeakerphoneOn(false);
audioManager.setStreamVolume(AudioManager.STREAM_ALARM, audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM), 0);
if (!alreadyPlaying)
playAlarmSound();
alreadyPlaying = true;
}
private void playAlarmSound() {
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mediaPlayer.start();
}
});
try {
mediaPlayer.setDataSource(this, Uri.parse("android.resource://com.mystuff.mine/" + R.raw.alarm_sound));
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
}
为了确保音量没有降低,我每5秒调用一次以下音量.
audioManager.setStreamVolume(AudioManager.STREAM_ALARM, audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM), 0);
我位于欧盟内部,所以它可能是由插入耳机时处理最大音量的规则引起的.由于我只关心扬声器输出,我需要一个解决方法,即使是这种情况.
编辑:
我的应用程序以及系统应用程序(如闹钟)以及Nexus 5和6都会出现此问题.因为我还阅读过其他手机制造商的问题报告,所以我不认为问题是nexus系列手机所独有的.我需要一个解决方法.
我刚检查了getStreamMaxVolume(AudioManager.STREAM_ALARM)和getStreamVolume(AudioManager.STREAM_ALARM)的结果.两者都显示7,无论耳机是否插入.
我注意到耳机已插入,而音量指示器设置为最大,如果我减小并快速再次增加,它将增加到没有耳机时的音量.然而,由于这需要用户互动,因此它不是我正在寻找的解决方案.
android连接耳机时音量控制,android – 扬声器音量(闹钟)在插入耳机时会降低相关推荐
- android 声卡 音量控制,android audio 音量调节
这次的分析是从setting设置开始,进入声音设置,然后进入音量设置! 先上传上来,后期进行整理吧 调用流程: -------------------------------------------- ...
- android 连接ble键盘,如何在Android上以编程方式配对和连接HID蓝牙设备(蓝牙键盘)...
它表示Android蓝牙API提供以下蓝牙配置文件的实现,但您可以实现接口BluetoothProfile编写自己的类以支持特定的蓝牙配置文件 . 耳机 A2DP Health 设备 没有关于如何为H ...
- android驱动例子(led灯控制),android驱动例子(LED灯控制)
--作者:赖玉平(Peter Lai)aulyp@163.com 本例子,讲述在android2.1上完全自已开发一个驱动去控制硬件口并写应用测试该驱动,通过这样一个例子,解析android下的驱动开 ...
- android 运行apk时崩溃,从Android Studio运行时安装APK时应用程序崩溃完美无缺
我最近将 Android Studio更新为2.3,将SDK更新为25.现在,当我在我的手机或模拟器上运行Android Studio应用程序时,它运行正常但是当我生成APK或从应用程序获取APK并在 ...
- 使用Vitamio打造自己的Android万能播放器—— 手势控制亮度、音量、缩放
使用Vitamio打造自己的Android万能播放器(1)--准备 一.实现目标 1.1亮度控制 模仿VPlayer界面: 1.2声音控制 模仿VPlayer界面: 1.3画面缩放 根据下面API ...
- android连接usb后默认app,android – 记住USB连接,但不要启动应用程序
我正在处理的应用程序通过USB连接成功连接设备. 但是,这会在连接USB设备时始终启动活动时产生不良影响.没有启动应用程序,我无法记住默认值.在连接上启动应用程序不是一个理想的效果.下面的小代码示例是 ...
- android连接蓝牙耳机,蓝牙耳机厂家:Android蓝牙连接的一些心得
蓝牙耳机厂家最近做一个项目,主要是给蓝牙发送指令的,boss要求能够最快速度的搜索到蓝牙,并且发送数据. 刚开始也遇到很多133,各种断开连接的问题.android蓝牙搜索有两种方式,一种startL ...
- android获取年月日时分秒毫秒,Android获取两个日期其间间隔的天数
/** * 获取两个日期之间的间隔天数 * @return */ public static int getGapCount(Date startDate, Date endDate) { Calen ...
- android程序退出时回调,关于android:通过刷卡杀死App时的回调
我有一个涉及导航的应用程序. 如果用户启动导航,则会创建一种"navigationLifecycleManager".它存储在应用程序实例中,以便在配置更改,活动等之间切换时幸免于 ...
最新文章
- 4 三元表达式 列表解析 生成器表达式
- OC对象 vs CF对象
- Python中fnmatch模块的使用
- mysql当前时间减一分钟_MySQL数据库事务的机制【总结】
- linux 0x00,linux 学习笔记0x00
- 神策数据创始人桑文锋:AARRR模型如何应用到产品各个阶段
- 为什么不能在子类的初始化列表里初始化父类的成员
- CRMEB知识付费系统v1.4.4源码
- leetcode题解108-将有序数组转换为二叉排序树
- Hbase新API以及Hbase增删改差
- 【动态规划】最大子段和问题,最大子矩阵和问题,最大m子段和问题
- paip.wscript.shell.run路径空格与VBs转义符 作者Attilax , EMAIL:1466519819@qq.com ,112237553@qq.com 来源:attilax
- apizza开发工具
- 2023年辽宁大学原子与分子物理考研上岸前辈备考经验指导
- 客群洞察-大数据技术驱动互联网金融进阶之路
- 通过概率规划归纳的人类水平概念学习
- 记录一次Tx_LCN连接失败的问题( There is no normal TM )
- 逻辑回归分类——信用卡诈骗
- JS学习之路系列总结四象阵(此文犹如武林之中的易筋经,是你驰骋IT界的武功心法,学会JS五大阵法就学会了JS,博主建议先学三才阵)
- 关于笔记本电脑蓝牙设置开关消失的处理方法
热门文章
- SAP CRM WebClient UI element id generation logic
- How is HashMap return type handled to be converted to a json string
- 一个前端开发人员多年苦心搜集的Chrome开发者工具使用技巧
- SAP Cloud for Customer里如何根据产品ID拿到其UUID
- 安装python3.7.0的步骤_CentOS7下简单安装python3.7.0步骤
- Android学习笔记篇1. 从按钮的点击事件开始
- leetcode60.第k个排列java题解
- 好玩的php函数,几个实用的PHP函数
- kgtemp文件转换mp3_amr转换mp3格式文件
- python 嵌套数组_兴趣是最好的老师,快速入门:十分钟学会python