使用 A2DP 通过蓝牙播放音频时消除 0.5 秒的延迟

使用 A2DP 通过蓝牙播放音频时消除 0.5 秒的延迟

正如标题所述,当我使用 A2DP 通过蓝牙播放音频时,会出现半秒延迟。
由于声音与视频不同步,因此无法观看电影。

我不确定延迟是由蓝牙标准、A2PD 协议、Ubuntu 12.04 上的 A2DP 实现还是 Belkin Z73 蓝牙接收器引起的。

无论如何,这是正常的延迟吗?有没有办法通过蓝牙播放音频而不会出现任何明显的延迟?

答案1

不,这不是正常现象,但我偶尔也会遇到类似的问题,因为我的 Altec Lansing iMT525 蓝牙扬声器也会出现这种情况。与 Sri 的答案概念类似的方法几乎总是对我有用,而且每次连接我只需要执行一次。

自动切换蓝牙配置文件以重新初始化 PulseAudio

如果你正在寻找罪魁祸首,我会先查看 Ubuntu 的音响系统 PulseAudio,然后再查看你的蓝牙接收器。试试这个:

  • 首先,删除并重新配对您的蓝牙设备。

  • 然后,将以下内容复制并粘贴到.sh主目录中的文件中,例如/home/brillout/pabluezswitch.sh

    #!/bin/bash
    bluezcard=$(pactl list cards short | awk '/bluez/{print $2}')
    pactl set-card-profile "$bluezcard" a2dp
    pactl set-card-profile "$bluezcard" hsp
    pactl set-card-profile "$bluezcard" a2dp
    
  • 打开终端并输入以下命令使文件可执行chmod +x ~/pabluezswitch.sh

  • 设置...键盘...快捷键,然后创建自定义快捷方式;使用命令 as /home/$USER/pabluezswitch.sh(用适当的路径替换)将其命名为您想要的任何名称。单击申请,然后点击右侧的已禁用设置键盘快捷键来执行脚本。

这样做的目的是强制 PulseAudio 系统通过切换配置文件来重新同步发送到您的耳机/扬声器的音频ad2p -> hsp -> a2dp,从而希望消除任何延迟。


每当您连接并注意到延迟时,您应该按下上面选择的键盘快捷键来尝试修复延迟 - 希望它对您有用!

答案2

  • 安装 pavucontrol:sudo apt install pavucontrol
  • pavucontrol从菜单运行
  • 转至输出设备
  • 在蓝牙设备下,打开高级菜单
    • 您可以在此处将延迟偏移设置为毫秒值(正或负)。要确保该值正确,您需要以任意值开头,例如 250.00 毫秒。
    • 播放 YouTube 上的任何“音频同步测试”,并将播放速度设置为 0.25(使其变慢),然后您就可以开始注意该值是否正确或需要增加或减少。

答案3

我尝试了很多方法来解决这个问题,但都没有成功。后来我偶然发现了设置端口延迟偏移

如果您使用 pulseaudio 请执行以下操作:

pactl list cards short | egrep -o bluez.*[[:space:]]

这将为您提供蓝牙接口。现在相应地设置延迟:

pactl set-port-latency-offset <INTERFACE> speaker-output 100000

我正在使用 100000 微秒,这对我来说很好。

答案4

无论使用哪种播放器,我偶尔都会遇到类似的问题。我的是诺基亚 BH-503 蓝牙立体声耳机,配有 MSI CR400 笔记本电脑和 Ubuntu 11.10。我偶然发现了一个您可以尝试的解决方法。

  • 开始播放视频。
  • 转到声音设置>硬件。
  • 选择蓝牙设备。
  • 然后在所选设备下拉菜单的设置中,切换到电话双工(HSP/HFP)配置文件,然后切换回高保真播放(A2DP)。

相关内容