我在运行5.1的Moto-E上测试Soundpool。它通常以极佳的延迟开始 - 但随后音频开始挂起一百毫秒或更长时间,并显示以下消息:
06-26 15:03:49.213 3865-9536 /? E / DEBUG MESSAGE:播放音符
06-26 15:03:49.331 299-876 /? D / audio_hw_primary:out_set_parameters:输入:usecase(0:deep-buffer-playback)kvpairs:routing = 8
06-26 15:03:49.331 299-876 /? V / msm8916_platform:platform_get_output_snd_device:输入:输出设备(0x8)
06-26 15:03:49.331 299-876 /? V / msm8916_platform:platform_get_output_snd_device:exit:snd_device(耳机)
06-26 15:03:49.331 299-876 /? D / audio_hw_extn:audio_extn_set_anc_parameters:anc_enabled:0
06-26 15:03:49.331 299-876 /? E / soundtrigger:audio_extn_sound_trigger_set_parameters:str_params NULL
06-26 15:03:49.334 3865-9536 /? E / DEBUG MESSAGE:播放注释后
DEBUG消息是我的。其他是系统生成的。请注意,我输了100多分钟。我检查了我的采样率,这很好。每个音符也不会发生这种情况。请问是否有人熟悉这类错误?
答案 0 :(得分:0)
这不是错误。您的手机进入睡眠模式:您可以使用长缓冲区(通过deep_buffer
)流式传输音乐,并在每个缓冲区重新填充之间,您的CPU进入睡眠状态。
备用电池是正常行为。
快速解决方案是在AUDIO_OUTPUT_FLAG_DEEP_BUFFER
中对包含标记$system/etc/audio_policy.conf
的部分进行评论:
deep_buffer {
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_LINE
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
}
或者,使用像https://forum.xda-developers.com/apps/magisk/module-universal-deepbuffer-remover-t3577067
这样的软件