Android 9似乎存在音频问题。我测试了所有10个顶级音乐可视化工具。其中40%的人在Android 9上遇到了音频问题,这导致音频播放或可视化不再起作用。我在装有Android 8的设备上测试了相同的应用程序,但这些问题均未出现。以下是错误的说明,基于开发者控制台上我的应用程序的堆栈跟踪:
1)Visualizer数据捕获问题
信号11(SIGSEGV),代码1(SEGV_MAPERR) android :: RefBase :: incStrong(void const *)const 回溯:
#00 pc 000000000000bc30 /system/lib64/libutils.so(android :: RefBase :: incStrong(void const *)const)
#01 pc 000000000000f7a8 /system/lib64/libutils.so(android :: Thread :: run(char const *,int,unsigned long)+124)
#02 pc 00000000000bd028 /system/lib64/libmedia.so(android :: Visualizer :: periodicCapture()+ 224)
#03 pc 00000000000bcdd8 /system/lib64/libmedia.so(android :: Visualizer :: CaptureThread :: threadLoop()+ 88)
#04 pc 000000000000f9d4 /system/lib64/libutils.so(android :: Thread :: _ threadLoop(void *)+ 280)
#05 pc 00000000000bc9cc /system/lib64/libandroid_runtime.so(android :: AndroidRuntime :: javaThreadShell(void *)+ 140)
#06 pc 0000000000083840 /system/lib64/libc.so(__pthread_start(void *)+ 36)
#07 pc 0000000000023d80 /system/lib64/libc.so(__start_thread + 68)
我进行了调试和研究,发现Visualizer中的setDataCaptureListener导致了此问题。这可能不是驱动程序问题,因为我在Play控制台上看到它发生在以下设备上:
小米Mi A1(tissot_sprout)
小米Mi A2 Lite(daisy_sprout)
小米Redmi Note 5 Pro(白色),
Google Pixel 2(角膜白斑),
摩托罗拉moto g(6)plus(evert_n),Android 9
基本产品PH-1(mata)
索尼Xperia XZ1 Compact(G8441),
索尼Xperia XZ1(G8341),
三星Galaxy S9 +(star2qltesq)和其他新的三星设备
2)广播流不再开始
E / MediaPlayerNative:错误(1,-2147483646)
E / MediaPlayer:错误(1,-2147483648)
E / ContentValues:onError
'1'值对应于MediaPlayer中的常数。 MEDIA_ERROR_UNKNOWN。 -2147483648对应于十六进制0x80000000,在frameworks / native / include / utils / Errors.h中定义为UNKNOWN_ERROR。
这表明错误的来源很难确定,因为它是一个通用的返回值,由编解码器和兼容性问题引发,而且还由线程取消和其他几种类型引发。
可能是在Android 9中更改了音频播放模型,但我找不到与此有关的任何信息。与音频相关的唯一变化似乎是“高清音频:改进的性能以及对高清音频的支持,可提供更清晰,更清晰,更丰富的声音。”