关于高通平台王者荣耀,和平精英等游戏杂音问题

2023-10-14 21:08

本文主要是介绍关于高通平台王者荣耀,和平精英等游戏杂音问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于高通平台王者荣耀,和平精英等游戏杂音问题

今天我将为大家讲述我在音频开发处理的第一个问题,王者荣耀的登录pop音问题。
问题描述:最新版本的手机上,安装了王者荣耀,和平精英,消消乐等游戏APP,可是,王者荣耀与和平精英在登录游戏或者进入游戏中都出现了不同程度的杂音,我们将其称之为pop音,但是消消乐却丝毫没有音质问题。
问题定位:产生pop音最常见的情况就是通路与性能问题,使音频的数据未能走入自身原本应该走入的通道,因此自身频率和通道不匹配,且占用其他音频通道,因而产生pop声,Android系统架构中主要有三种播放模式:low latency playback,deep buffer playback和compress offload playback.

low latency playback:用于按键音,游戏背景音等,对时延要求高的声音输出。
音频文件在AP侧解码成PCM数据,然后再经Audio DSP送给codec芯片播放。

deep buffer playback:用于音乐等对时延要求不高的声音输出。音频文件在AP侧解码成PCM数据,然后再经Audio DSP送给codec芯片播放。

compressed offload playback:用于音乐等声音的输出,但是音频解码部分工作在Audio DSP中,AP侧只负责把音频码流送到Audio DSP中,然后AP就进行休眠状态,Audio DSP会分配一块较大的buff去处理此数据,这种模式非常低功耗,是最为推荐的音乐播放模式。

如果大家对上面几种模式想有更深的了解,就关注我下期的博客,我将用流程图的方式更为清晰准确的为各位讲解这几种常见播放模式。

为了证实我们的猜想,我们需要在播放杂音的时候抓取日志。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面三个图片分别为:消消乐,王者荣耀,和平精英的日志,相信聪明的你已经发现问题所在了吧,没错!就是audio-ull-playback通路这里的问题,为什么和平精英和王者荣耀的通路里会出现它呢?我们下一步又将做什么去解决问题呢?请持续关注我的博客,下一期我将通过这个杂音问题,剖析音频开发的常用套路,尽请期待吧!欢迎留言讨论,让我们一起成长!

这篇关于关于高通平台王者荣耀,和平精英等游戏杂音问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/213163

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map