first commit
This commit is contained in:
commit
669f49b1d6
342 files changed
+320811
No files matched your search
@@ -0,0 +1,194 @@
|
||||
# 06_开发入口_风险点_测试清单
|
||||
|
||||
## 开发入口速查
|
||||
|
||||
### 改蓝牙音乐页面
|
||||
|
||||
```text
|
||||
F:\zdCode\tongli\YX_BlueTooth\src\main\res\layout\activity_bluetooth_music.xml
|
||||
F:\zdCode\tongli\YX_BlueTooth\src\main\java\com\yaxon\bluetooth\main\BluetoothMusicActivity.java
|
||||
```
|
||||
|
||||
常见改动:
|
||||
|
||||
```text
|
||||
改封面
|
||||
改标题/歌手显示
|
||||
改进度条
|
||||
改播放按钮
|
||||
改未连接页面
|
||||
增加音效入口
|
||||
增加跳转蓝牙设置
|
||||
```
|
||||
|
||||
### 改播放控制
|
||||
|
||||
```text
|
||||
F:\zdCode\tongli\YX_BlueTooth\src\main\java\com\yaxon\bluetooth\viewmodel\BtMusicViewModel.java
|
||||
F:\zdCode\tongli\YX_BluetoothSDK\src\main\java\com\yaxon\bluetoothsdk\manager\BtMusicControlManager.java
|
||||
F:\zdCode\tongli\YX_BluetoothSDK\src\main\java\com\yaxon\bluetoothsdk\modules\BtMusicManager.java
|
||||
F:\zdCode\tongli\YX_BluetoothSDK\src\main\java\com\yaxon\bluetoothsdk\platform\BluetoothAvrcpClient.java
|
||||
```
|
||||
|
||||
常见改动:
|
||||
|
||||
```text
|
||||
播放前是否强制申请焦点
|
||||
暂停后是否释放焦点
|
||||
切歌时是否清默认封面
|
||||
页面 onResume 是否自动恢复播放
|
||||
手机端主动播放时是否允许车机出声
|
||||
```
|
||||
|
||||
### 改 A2DP 连接
|
||||
|
||||
```text
|
||||
F:\zdCode\tongli\YX_BluetoothSDK\src\main\java\com\yaxon\bluetoothsdk\platform\BluetoothConnectListenerClient.java
|
||||
F:\zdCode\tongli\YX_BluetoothSDK\src\main\java\com\yaxon\bluetoothsdk\platform\BluetoothA2dpSinkClient.java
|
||||
F:\zdCode\tongli\YX_BlueTooth\src\main\java\com\yaxon\bluetooth\viewmodel\BtMusicViewModel.java
|
||||
```
|
||||
|
||||
常见改动:
|
||||
|
||||
```text
|
||||
A2DP 自动连接
|
||||
A2DP 断开清理
|
||||
连接中状态判断
|
||||
未连接页面状态
|
||||
蓝牙关闭后的数据清理
|
||||
```
|
||||
|
||||
### 改歌曲信息
|
||||
|
||||
```text
|
||||
F:\zdCode\tongli\YX_BluetoothSDK\src\main\java\com\yaxon\bluetoothsdk\modules\BtMusicManager.java
|
||||
F:\zdCode\tongli\YX_BluetoothSDK\src\main\java\com\yaxon\bluetoothsdk\modules\BtInfoPushManager.java
|
||||
F:\zdCode\tongli\YX_BluetoothSDK\src\main\java\com\yaxon\bluetoothsdk\model\MusicInfo.java
|
||||
```
|
||||
|
||||
常见改动:
|
||||
|
||||
```text
|
||||
Unknown 兜底文案
|
||||
封面为空兜底
|
||||
不同手机音乐 App 兼容
|
||||
总时长为 0 的处理
|
||||
播放进度刷新策略
|
||||
```
|
||||
|
||||
### 改 Launcher 卡片
|
||||
|
||||
```text
|
||||
F:\zdCode\tongli\YX_Launcher\src\main\java\com\yaxon\launcher\card\BluetoothMusicCardView.java
|
||||
F:\zdCode\tongli\YX_Launcher\src\main\res\layout\card_bluetoothmusic.xml
|
||||
F:\zdCode\tongli\YX_Launcher\src\main\java\com\yaxon\launcher\data\Id3Info.java
|
||||
```
|
||||
|
||||
常见改动:
|
||||
|
||||
```text
|
||||
卡片 UI
|
||||
卡片点击进入蓝牙音乐页
|
||||
卡片控制按钮
|
||||
卡片进度条
|
||||
卡片默认态
|
||||
```
|
||||
|
||||
### 改音频焦点
|
||||
|
||||
```text
|
||||
F:\zdCode\tongli\YX_BluetoothSDK\src\main\java\com\yaxon\bluetoothsdk\audio\BtMusicAudioManager.java
|
||||
```
|
||||
|
||||
常见改动:
|
||||
|
||||
```text
|
||||
蓝牙音乐和收音机抢焦点
|
||||
蓝牙音乐和 USB 音乐抢焦点
|
||||
来电暂停/恢复
|
||||
导航播报降音
|
||||
媒体按键处理
|
||||
亿连 A2DP 焦点处理
|
||||
```
|
||||
|
||||
## 当前代码风险点
|
||||
|
||||
| 风险 | 文件 | 说明 |
|
||||
|---|---|---|
|
||||
| `isA2dpSinkConnected()` 总返回 false | `BtMusicViewModel`、`BtMusicControlManager` | 调了底层但没有 return 结果。 |
|
||||
| 音效按钮未闭环 | `activity_bluetooth_music.xml` | 有 `iv_sound_effects`,但 Activity 没处理点击。 |
|
||||
| 连接蓝牙按钮未闭环 | `BluetoothMusicActivity` | `tv_connect_btn` 点击逻辑被注释。 |
|
||||
| A2DP 静音底层调用被注释 | `BluetoothA2dpSinkClient` | `setFluorideAudioTrackGain()`、`setFluorideStreaming()` 没真正调底层。 |
|
||||
| 监听移除方法参数疑似错误 | `BtMusicManager` | `removeIBtMusicModuleListener()` 参数是 `IBtSettingModuleListener`。 |
|
||||
|
||||
## 真机测试清单
|
||||
|
||||
### 连接类
|
||||
|
||||
| 用例 | 预期 |
|
||||
|---|---|
|
||||
| 手机首次配对并连接 | HFP/A2DP 正常连接,页面显示播放界面。 |
|
||||
| 只连 HFP 未连 A2DP 后进入蓝牙音乐页 | 页面尝试补连 A2DP。 |
|
||||
| 播放中断开手机蓝牙 | 页面切未连接,Launcher 清空蓝牙音乐信息。 |
|
||||
| 蓝牙开关关闭 | 页面切未连接,音乐信息清空。 |
|
||||
|
||||
### 播放控制类
|
||||
|
||||
| 用例 | 预期 |
|
||||
|---|---|
|
||||
| 点击播放 | 申请音频焦点,手机音乐开始播放。 |
|
||||
| 点击暂停 | 手机音乐暂停,页面按钮切为播放图标。 |
|
||||
| 点击上一曲 | 手机音乐切上一曲,页面和 Launcher 更新。 |
|
||||
| 点击下一曲 | 手机音乐切下一曲,页面和 Launcher 更新。 |
|
||||
| Launcher 点击播放/暂停 | 蓝牙音乐响应,页面和卡片状态同步。 |
|
||||
|
||||
### 歌曲信息类
|
||||
|
||||
| 用例 | 预期 |
|
||||
|---|---|
|
||||
| 普通歌曲 | 显示标题、歌手、封面、进度、总时长。 |
|
||||
| 标题为空 | 显示 Unknown 或打开手机音乐 App 状态。 |
|
||||
| 封面为空 | 显示默认封面。 |
|
||||
| 总时长为 0 | 进度条安全显示,不崩溃。 |
|
||||
|
||||
### 音频焦点类
|
||||
|
||||
| 用例 | 预期 |
|
||||
|---|---|
|
||||
| 蓝牙音乐播放时打开收音机 | 蓝牙音乐暂停或静音,收音机出声。 |
|
||||
| 收音机播放时手机点蓝牙音乐播放 | 如果蓝牙音乐无焦点,应暂停或不出声。 |
|
||||
| 蓝牙音乐播放时来电 | 蓝牙音乐暂停,电话优先。 |
|
||||
| 电话结束 | 根据之前播放状态决定是否恢复蓝牙音乐。 |
|
||||
|
||||
## 日志关键词
|
||||
|
||||
```text
|
||||
BtMusicManager
|
||||
BluetoothAvrcpClient
|
||||
BluetoothA2dpSinkClient
|
||||
BtMusicAudioManager
|
||||
BtInfoPushManager
|
||||
BluetoothMusicActivity
|
||||
onPlaybackStateChanged
|
||||
onMetadataChanged
|
||||
requestAudioFocus
|
||||
AUDIOFOCUS_GAIN
|
||||
AUDIOFOCUS_LOSS
|
||||
onA2dpConnect
|
||||
onA2dpDisconnect
|
||||
MUSIC_BT_CONTROL_STATE
|
||||
```
|
||||
|
||||
## 排查顺序
|
||||
|
||||
```text
|
||||
1. 先看是否 A2DP connected
|
||||
2. 再看 MediaBrowserClient 是否连接成功
|
||||
3. 再看是否收到 onMetadataChanged
|
||||
4. 再看是否收到 onPlaybackStateChanged
|
||||
5. 再看点击播放后是否 requestAudioFocus 成功
|
||||
6. 再看是否调用 BluetoothAvrcpClient.play/pause/next/previous
|
||||
7. 再看 Launcher 是否写入 MUSIC_BT_CONTROL_STATE
|
||||
8. 最后看 BtInfoPushManager 是否写入 BT_MUSIC_INFO
|
||||
```
|
||||
|
||||
Reference in new issue
Block a user