引擎版本是2.4.x
在安卓真机上播放音频会出现上图大量log不断打印 用的是cc.audioEngine的相关方法
是什么原因?音频倒是正常播放的,就是大量log冲掉了有用的Log信息
建议你筛选一下log,把tag是Cocos的筛选出来,因为有的log是android系统本身打的,有可能你换一台android机器,就不打log了。以前我也碰到类似的问题,某台华为打的比较多,换一台机器可能就不打了,解决的办法就是筛选一下,把没用的过滤掉就可以了。
刚才尝试用官方新工程去跑了一下,排除了自己项目工程的内部导致,新工程搭建出来的android包播放音乐也会有这段log。
这里顺便把我的安卓搭建环境说一下 Gradle7.6.2 JDK17 androidStudio版本2023.2.1.24 NDK用的就是默认的
这里粘贴处新工程构建的安卓工程gradle.properties截图
奇怪的是搜遍全网竟然没有人会提这类问题 难道都是筛log吗
另外你说的筛log 是基于有log可筛 现在问题在于这段打印一直快速输出 导致冲刷了自己有用的log信息,根本筛不出来 因为log的打印上限有限 没办法记录运行时所有的log 如果有log一只冲刷打印 就会把很多Log冲走留不下来
你换个机器,或者用模拟器试试看,我记得一般每个机器刷log的情况是不一样的。
因为log的打印上限有限
这个上限我记得可以调的,一般我monitor那都是调10万条保留。
这个上限设置是在andoridstudio设置的吗?
都可以,找到logcat,我一般用的sdk里的device monitor,android studio也可以。可以设置的很大也不影响。看图片
另外读取失败的建议你检查音频文件本身的问题,也建议转成mp3用。
1.cocos creator2.4.x
2.androidStudio版本2023.2.1.24
3.工具Gradle7.6.2 JDK17
问题:
在运行工程时(官方的工程) 播放了一段音乐(试过换音乐也是如此 跟音乐文件无关)
会有一段log不间断的大量输出
导致冲刷了很多有用的log信息 哪怕筛选也没法获取 因为log打印有上限 会记录一定数量的log
音频频繁打印效果如下 这个是官方工程hello world下简单的运行了一段代码
效果:
链接: https://pan.baidu.com/s/1xtkYQdgy6-CtdU0B50PP6g?pwd=6g2y 提取码: 6g2y
被你说中了 就是手机问题 但是是近4年的手机都这样。。
自问自答吧 经过半个月以来努力排查找原因 得出以下一些信息
结论:
这是特定的机型才会出现 并且在千元机里头居多 相同品牌不同型号(不知道相同型号会不会)也不一定能够重现
测试过程:
1.直接用官方工程简单播放一段音效 然后打包放入 (特定机型 别的机型不会 生产年份旧的不一定会有问题 新的也不一定没问题)最新3.8.3依然存在这类问题
2.用不同的音频(各大渠道:网易云 酷狗 千千静听…下载的常见格式mp3 wav ogg等等)去播放依然有问题 (特定机型)
3.以上测试都是相同的安卓环境配置(NDK JDK SDK gradle…配置相同)
问题:
有没有办法把这个log在机器运行时注释不打印 即便过滤也会产生频繁打印导致机器发热严重产生性能问题(1ms瞬间刷屏那种)
你找个不打印的机器用来开发就可以了。
这是系统打印出来的,就算有设置,用户也不一定去设置。而且看起来设置不了。就不管就行了。
主要是影响性能,在特定的这些真机上是实实在在打印,会让游戏有卡顿感,而且会导致很多正常机子出现不了的问题,目前想说打包的release版看能不能不打印,至少让这些特定机型没有打印的性能消耗,但是目前看了几个方案试了都不行,其中包括build.gradle里的release里所有参数都设置不打印也不行
你用其他游戏或者播放器播放音频,是不是也打印这些log?我记得这些log是你无论什么应用,播放音频都会打的。是系统内部开的log设置。
另外这个卡顿感,你试试看关掉usb调试,不连接电脑,实际安转app来真机跑的话,是不是还卡顿。
刚才立马试了一遍别的app,观察了一下后台,试了网易的狼人杀,抖音,王者都没有这类打印,仅有通过官方打出来的release包播放的声音会有这类问题,这让我不得不重新怀疑官方的音频控件是否有兼容问题
确定吗? 我看好多软件的log输出都有这些tag。你可以搜一下:
AudioTrack : Android framework’s audio playback API
voice_scence_discern 一般都是这个api设置参数的时候打的。
网上可以看到各种各样软件的log里面都有这些tag的。
如果有的游戏没发现,说不定他们不是用的这套API,而是用的类似OpenAL这种直接填buffer的库。
确定,
因为我还尝试过运行一些市面上用cocos开发的包运行在这些特定手机上也有这类频繁打印问题,同样会引起过量的打印引起快速发热
有小伙伴建议我用webview试试,这里也顺便说一下结论,就是同样会有这类打印
应该是用了特定的库以后在某些机型上确实有异常问题出现
随机抽取市面上的几款用cocos制作的上线游戏在这类机器都有问题
测试游戏包括但不限于以下游戏:
塔防召唤师、消灭星星 解压切水果 …