第一阶段:先把单人播放跑通 1. 同时允许 codec 4 和 5; 2. 建立一个有界语音帧队列; 3. 由单个协程顺序消费; 4. 使用 libopus 解码裸 Opus 数据; 5. 将 PCM 顺序写入 AudioTrack; 6. 增加丢包处理和基本抖动缓冲; 7. 验证声音、速度、音调是否正常。 第二阶段:多人语音 1. 每个客户端独立 Opus decoder; 2. 根据 packet sequence 做重排; 3. 缺包时调用 Opus PLC; 4. 多路 PCM 饱和混音; 5. 混音结果写入一个 AudioTrack; 6. 清理长时间无数据的客户端 decoder。 第三阶段:Android 音频体验 1. 使用 AudioManager.MODE_IN_COMMUNICATION; 2. 请求 audio focus; 3. 正确切换扬声器、听筒、蓝牙耳机; 4. 实现输出音量; 5. 处理电话、耳机插拔、应用后台和断线; 6. 根据生命周期释放 AudioTrack 和解码器。