audio - 如何在需要时加快音频速度,然后在 ALSA 下恢复正常速度?
问题描述
我在启用了 ALSA 的 Linux 上有一个嵌入式软件——它只是一个 WIFI 扬声器。我用ALSA做声音控制。
现在我想实现一些逻辑如下,但我不确定我是否可以在 ALSA 中解决它或需要一些其他框架。
- 手机使用WIFI连接WIFI音箱成功。
- 手机播放一些音乐,会通过WIFI传输数据,让WIFI音箱播放出来。
- 理想情况下网络稳定,WIFI音箱播放的音乐稳定。
- 突然网络不稳定,假设数据停了1秒。但请注意,手机仍在向 WIFI 扬声器发送数据(这是手机中 WIFI 扬声器应用程序的默认行为,作为缓冲)。所以在这1秒内,数据缓存在手机中,WIFI音箱没有收到任何数据。所以WIFI音箱没有声音。
- 1秒后,一切恢复正常,手机将“1秒”数据加上“现在”数据发送到WIFI音箱。
- WIFI音箱可以接收到步骤5中的所有数据,并按时间顺序播放。
- 这会带来一个问题,WIFI音箱总是落后手机1秒。
- 我想要什么 - 在这种情况下(从 #4 到 #7),我想加快“1 秒”数据的速度以进行追赶,然后进行正常的速度播放。
现在确定如何实现这一点,所以任何建议都将不胜感激!再次感谢!
解决方案
推荐阅读
- python - 使用 fastai 和 huggingface 的多类序列分类
- windows - 在 Windows 10 上安装 KSQLDB
- kotlin - 如何在单链表中找到满足 where 谓词的最后一个节点?
- sql-server - MSSQL - 2TB 数据库 - 主组中的新文件
- c++ - 在 Qt6 中构建特定模块(即 QtMqtt)
- java - Open-liberty 如何设置 log4j2 配置?
- flutter - Flutter Newbie:修改 Textfield 值打破对 TextField 的关注
- swift - 带约束的字符串扩展
- airflow - Airflow:如何在不同的 dags 中使用相同的任务
- java - 使用流从列表生成地图