首页 | Blogs | 项目合集 | Bilibili↗
←返回 |
创建:2026-03-28 | 最后更新:2026-03-28
在 Blog#37 里面,我搞了个 termux 容器,今天才发现没有声音。
sink模块
解决方案非常简单:
- 安卓设置里面打开
Termux:X11和Termux:API的录音权限 - 在Termux的启动脚本里面的 pulseaudio 命令改成:
pulseaudio --start \
--load="module-aaudio-sink" \
--load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" \
--exit-idle-time=-1
这是因为PulseAudio需要一个sink才能正常输出,类似于光有服务器还不够,还需要一个“硬件”驱动连接到安卓的音频服务。
OpenSL ES回退
但是aaudio有时可能会无响应导致没声音,甚至有些安卓设备不支持,就要考虑使用OpenSL ES了。
在刚才的命令后面加上
pactl load-module module-sles-sink
记得要在xfce4右下角的音量面板里面把播放设备改成OpenSL ES。