这是一个小问题。
问题描述
在 Windows 下,Android Studio 官方的模拟器播放声音会出现连续的滴答声或爆破声,持续十几秒后才会逐渐消失。
若一段时间不播放声音,稍后再播放还会出现一样的情况。
技术赏析
这里并不能作出很详细的赏析。
主要原因是模拟器核心 qemu 为保证音频播放时间的准确性,会每过一定时间根据系统时间调节音频进度。
这一特性可以通过环境变量关闭。
解决方案
这是一个几乎正确的解决方案。
解决方法
在运行模拟器的环境下设置环境变量,如下:
Var | Val |
---|---|
QEMU_DSOUND_LATENCY_MILLIS | 3 |
QEMU_AUDIO_TIMER_PERIOD | 0 |
你可以将其添加至系统环境变量,也可以在运行模拟器前预执行下面的命令(适用于命令行启动模拟器):
set QEMU_DSOUND_LATENCY_MILLIS=3 & set QEMU_AUDIO_TIMER_PERIOD=0
[广告] 你可以使用 AVD Launcher 启动模拟器,它允许你添加自定义环境变量和参数。
缺陷
暂未验证,但是理论上这可能导致音频播放时间出现微小的误差。
这样的误差正常情况下难以察觉。当使用场景对时间精度要求极高时(例如音乐游戏),误差可能会带来影响。
Comments | 1 条评论
博主 griffinIDW