问题描述
在Android TV上使用PulseAudio播放音频时,存在初始几秒的延迟。具体表现为:启动电视,选择输入源,设置默认音频输出设备,并启动播放器(如mplayer)。在执行命令后,大约3-5秒后才能听到声音。然而,如果立即关闭播放器并重新运行,则没有延迟或音质损失。但如果等待约30秒后再次尝试,则会重新出现延迟。
解决方案
方案1
根据最佳回复,经过调查发现,问题的原因在于PulseAudio模块module-suspend-on-idle
。该模块会在一段时间内暂停音频输出以节省电力。可以通过注释掉此模块的配置来解决延迟问题。
操作步骤
- 编辑PulseAudio配置文件
打开终端,编辑PulseAudio的默认配置文件/etc/pulse/default.pa
。
bash
sudo nano /etc/pulse/default.pa - 注释掉相关行
在文件中找到并注释掉如下行:
plaintext
### 加入以下注释 ###
#load-module module-suspend-on-idle - 重启PulseAudio服务
执行以下命令重启PulseAudio服务以应用更改:
bash
pulseaudio -k - 验证更改
重新启动电视,设置默认音频输出设备,并测试播放音频,确认延迟问题是否解决。
方案2
如果方案1无法解决问题,或者您希望进一步优化音频播放体验,可以考虑调整PulseAudio的配置参数或优化系统设置。例如,调整缓冲区大小或优化系统资源分配。
操作步骤
- 调整缓冲区大小
编辑PulseAudio配置文件,调整缓冲区大小:
bash
sudo nano /etc/pulse/daemon.conf
找到或添加以下行:
plaintext
default-fragments = 4
fragments-size = 256 - 重启PulseAudio服务
执行以下命令重启PulseAudio服务以应用更改:
bash
pulseaudio -k
通过上述步骤,您可以有效解决PulseAudio在HDMI输出上的初始延迟问题。
正文完