Files
ts-mobile-go/docs/实施.md
T

41 lines
883 B
Markdown
Raw Permalink Normal View History

2026-07-20 19:01:03 +08:00
第一阶段:先把单人播放跑通
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 和解码器。