Android Headset Profile Listen To Music
16lz
2021-01-23
Android 默认使用蓝牙A2DP协议听音乐,使用Headset协议用来接听电话。
早些NOKIA还飞黄腾达的时候,是可以用Headset协议听音乐的,那么Android是否能实现呢?
肯定是能实现的,这是必然的。
只是如果不考虑其他应用的交互的,这是相当简单的,而且只用调用SDK提供的方法就可以做到。
// sdk version 2.3.3AudioManager mAudio = (AudioManager)getSystemService(Context.AUDIO_SERVICE);//mAudio.setBluetoothScoOn(true);mAudio.startBluetoothSco();mAudio.setMode(AudioManager.MODE_IN_CALL);// mAudio.setBluetoothScoOn(false);mAudio.stopBluetoothSco();mAudio.setMode(0);
如果要考虑不跟其他应用状态冲突的话
连接单声道蓝牙耳机有以下状态
应用 | 普通 | 响铃 | 接通 | 挂断 |
Phone | 不使用 | 不使用 | 使用 | 不使用 |
Music | 使用(听音乐时) | 不使用 | 不使用 | 使用(恢复音乐) |
FM | 使用(听FM时) | 不使用 | 不使用 | 使用(恢复FM) |
注意: 不使用 代表 不使用Headset协议
Phone 自己实现了Headset协议,不建议修改。只有新增Music、FM 的状态使用。
其实可以这样实现,监听Phone 状态改变当前的状态。
下面实现了一个例子,可以在使用的时候打开服务。
现已公开源码。
百度网盘下载(点此下载)
更多相关文章
- Android Bluetooth Low Energy(Android低功耗蓝牙)
- Android 设置状态栏及Activity横屏或竖屏。
- ANdroid之蓝牙
- Android获取屏幕高度、标题高度、状态栏高度详解
- Android底层开发之旅—蓝牙系统分析
- Android 蓝牙连接
- Android 沉浸式状态栏 头部可拉伸带有一键置顶功能
- Android Studio设置 标题栏隐藏, 状态栏隐藏, 改变状态栏文字颜
- Android 动态隐藏显示导航栏,状态栏