java - 禁用内部和外部扬声器,只允许耳机观看视频或收听音频
问题描述
我有一些视频,其中的音频只能通过耳机获得,而不是来自内置扬声器或外部扬声器。注意:它不应该允许带有 3.5 毫米插孔的外部扬声器。有什么可能解决它?如果有人帮我解决这个问题,那就太好了。
解决方案
检查耳机是否插入:
private boolean isHeadphonesPlugged(){
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
AudioDeviceInfo[] audioDevices = audioManager.getDevices(AudioManager.GET_DEVICES_ALL);
for(AudioDeviceInfo deviceInfo : audioDevices){
if(deviceInfo.getType()==AudioDeviceInfo.TYPE_WIRED_HEADPHONES
|| deviceInfo.getType()==AudioDeviceInfo.TYPE_WIRED_HEADSET){
return true;
}
}
return false;
}
在一个单独的线程中检查是否要使用上述方法拔掉耳机(在这种情况下,您必须停止您的 mediaPlayer 并应用您的逻辑)!
供参考
推荐阅读
- linux - 在 Linux 中查找 maxdepth 2 的文件并移动到相应的文件夹
- tensorflow - 代码=StatusCode.UNAVAILABLE,详细信息=“操作系统错误”
- linux - 是否只搜索距我执行搜索的位置至少两级深的文件?
- python - Scrapy 进程未成功爬取
- node.js - Socket.io 发出一次时连续显示消息
- python - 按 ID 对列求和,但跳过第一个实例?
- c - Code::Blocks 调试不运行并显示错误
- java - 如何在 mysql 和 myBatis 中通过 count、where、group by 获得所有结果?
- php - 在 codeigniter 中显示从 Controller 传递到 View 的数据
- laravel - Laravel Eloquent:检测为空或计数