KMnO4y_Fish's Blog

返回

这是一个小问题。

问题描述#

在 Windows 下,Android Studio 官方的模拟器播放声音会出现连续的滴答声或爆破声,持续十几秒后才会逐渐消失。

若一段时间不播放声音,稍后再播放还会出现一样的情况。

技术赏析#

这里并不能作出很详细的赏析。

主要原因是模拟器核心 qemu 为保证音频播放时间的准确性,会每过一定时间根据系统时间调节音频进度。

这一特性可以通过环境变量关闭。

解决方案#

这是一个几乎正确的解决方案。

解决方法#

在运行模拟器的环境下设置环境变量,如下:

VarVal
QEMU_DSOUND_LATENCY_MILLIS3
QEMU_AUDIO_TIMER_PERIOD0

你可以将其添加至系统环境变量,也可以在运行模拟器前预执行下面的命令(适用于命令行启动模拟器):

set QEMU_DSOUND_LATENCY_MILLIS=3 & set QEMU_AUDIO_TIMER_PERIOD=0
plain

[广告] 你可以使用 AVD Launcher 启动模拟器,它允许你添加自定义环境变量和参数。

缺陷#

暂未验证,但是理论上这可能导致音频播放时间出现微小的误差。

这样的误差正常情况下难以察觉。当使用场景对时间精度要求极高时(例如音乐游戏),误差可能会带来影响。

[Android 模拟器] Android Studio AVD 在 Windows 上出现爆音(已解决)
https://ak-ioi.com/blog/small-problem/avd-blasting-sounds
作者 KMnO4y_Fish
发布于 2022年8月13日
评论似乎无法加载。试试刷新?✨