首页 > 解决方案 > 如何在需要时加快音频速度,然后在 ALSA 下恢复正常速度?

问题描述

我在启用了 ALSA 的 Linux 上有一个嵌入式软件——它只是一个 WIFI 扬声器。我用ALSA做声音控制。

现在我想实现一些逻辑如下,但我不确定我是否可以在 ALSA 中解决它或需要一些其他框架。

  1. 手机使用WIFI连接WIFI音箱成功。
  2. 手机播放一些音乐,会通过WIFI传输数据,让WIFI音箱播放出来。
  3. 理想情况下网络稳定,WIFI音箱播放的音乐稳定。
  4. 突然网络不稳定,假设数据停了1秒。但请注意,手机仍在向 WIFI 扬声器发送数据(这是手机中 WIFI 扬声器应用程序的默认行为,作为缓冲)。所以在这1秒内,数据缓存在手机中,WIFI音箱没有收到任何数据。所以WIFI音箱没有声音。
  5. 1秒后,一切恢复正常,手机将“1秒”数据加上“现在”数据发送到WIFI音箱。
  6. WIFI音箱可以接收到步骤5中的所有数据,并按时间顺序播放。
  7. 这会带来一个问题,WIFI音箱总是落后手机1秒。
  8. 我想要什么 - 在这种情况下(从 #4 到 #7),我想加快“1 秒”数据的速度以进行追赶,然后进行正常的速度播放。

现在确定如何实现这一点,所以任何建议都将不胜感激!再次感谢!

标签: audioalsaspeakerlibalsaaudiovideoplayback

解决方案


推荐阅读