Android 在卓智达对讲应用外使用PTT对讲按键无声

/frameworks/av/services/audiopolicy/service/AudioPolicyService.cpp

抓log查看可见

MTK_ALOGD:

MTK_ALOGD ("APSMuteRec1 allowCaptur e[%d] hasOp[%d] canCaptureIfInCallOrCommunication[%d] State[%d] source[%d] [%zu]/[%zu] uid[%u] portId[%d] isA11yOnTop[%d] isAssistantOnTop[%d] isSensitiveActive[%d] isInCall[%d] isInCommunication[%d] rttCallActive[%d] onlyHotwordActive[%d] isTopOrLatestActive[%d] isTopOrLatestSensitive[%d] UIDTYPE[%d]/[%d]/[%d]"
, allowCapture, current->hasOp(), canCaptureIfInCallOrCommunication(current), apmStatFromAmState(mUidPolicy->getUidState(currentUid)), source, i, mAudioRecordClients.size(), currentUid, current->portId, isA11yOnTop, isAssistantOnTop, isSensitiveActive
, isInCall, isInCommunication, rttCallActive, onlyHotwordActive, isTopOrLatestActive, isTopOrLatestSensitive
, mUidPolicy->isAssistantUid(currentUid), mUidPolicy->isA11yUid(currentUid), mUidPolicy->isCurrentImeUid(currentUid));

/*/rm idle status stay on foreground or background
setAppState_l(current,allowCapture ? apmStatFromAmState(mUidPolicy->getUidState(currentUid)) :APP_STATE_IDLE);
//*/
setAppState_l(current,apmStatFromAmState(mUidPolicy->getUidState(currentUid)));
//*/

}

}

void AudioPolicyService::silenceAllRecordings_l() {

for (size_t i = 0; i < mAudioRecordClients.size(); i++) {

sp<AudioRecordClient> current = mAudioRecordClients[i];

if (!isVirtualSource(current->attributes.source)) {

/*/add set idle status
setAppState_l(current, APP_STATE_IDLE);
//*/
setAppState_l(current, APP_STATE_FOREGROUND);
//*/

}

}

}

/* static */
app_state_t AudioPolicyService::apmStatFromAmState(int amState) {

if (amState == ActivityManager::PROCESS_STATE_UNKNOWN) {
/*/add。rm idle status
return APP_STATE_IDLE;
//*/
return APP_STATE_FOREGROUND;
//*/
} else if (amState <= ActivityManager::PROCESS_STATE_TOP) {
// include persistent services
return APP_STATE_TOP;
}
return APP_STATE_FOREGROUND;
}

去掉当前闲置状态,设置为前台或后台运行/顶部即可

相关推荐
海上彼尚几秒前
Nodejs也能写Agent - 6.基础篇 - Agent
前端·人工智能·后端·node.js
viperrrrrrrrrr7几秒前
强化学习入门笔记
人工智能·强化学习
轻刀快马1 分钟前
AI 架构的文艺复兴:用操作系统“内存管理”重构 LLM 状态机 —— 深度解密 Claude Code
人工智能·架构
随身数智备忘录1 分钟前
拆解安全生产法三大核心功能,安全生产法如何解决责任不清与事故追责难
大数据·人工智能·安全
努力努力再努力wz1 分钟前
【QT入门系列】QWidget 六大常用属性详解:windowOpacity、cursor、font、focus、toolTip 与 styleSheet
android·开发语言·数据结构·c++·qt·mysql·算法
子榆.2 分钟前
CANN PyTorch适配器深度拆解:从.cuda()到.npu()到底发生了什么
人工智能·pytorch·python
renhongxia14 分钟前
从GPT到开源大模型
人工智能·gpt·生成对抗网络·语言模型·自然语言处理·开源
生成论实验室4 分钟前
WOLM在自动驾驶和机器人中究竟扮演什么角色?
人工智能·机器人·自动驾驶·创业创新·安全架构
码云骑士4 分钟前
Gemini赋能安全工程师:自动生成PoC脚本的技术实践
人工智能·安全
撩得Android一次心动5 分钟前
C语言基础笔记3【个人用】
android·c语言·开发语言·笔记