Files
ts-mobile-go/docs/实施.md
T
2026-07-20 19:01:03 +08:00

41 lines
883 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
第一阶段:先把单人播放跑通
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 和解码器。