android auto ack响应不完整,会导致音频焦点请求响应慢,影响用户体验,PCTS测试音频焦点测试部分基本都过不了,这个是很重要的一部分。当时遇到这个问题,无从下手,又是自动测试,没有什么log,后面花了不少时间才定位到问题。Ack响应的在AudioPlay.java这个文件。接受到数据就会ack响应。接受端跟响应端没有同步上就不会响应全部的Ack。在ackAFrame方法中framesToAck.getAndDecrement()获取后减一这个会导致不同步,需要让它值大于0的时候才减。文章来源地址https://www.toymoban.com/news/detail-745326.html
private void ackAFrame() {
Pair<Integer, AtomicInteger> pair = getSessionPairForFirstSession();
if (pair == null) {
return;
}
AtomicInteger framesToAck = pair.second;
int ackOld = 0;
if (framesToAck.get() > 0) {
ackOld = framesToAck.getAndDecrement();
}
if (ackOld > 0) {
mAudioSink.ackFrames(pair.first, 1);
} else {
Log.w(TAG, "try to ack frame while ack <= 0");
}
}
文章来源:https://www.toymoban.com/news/detail-745326.html
到了这里,关于AndroidAuto解决PCTS A15 Device ACKs All Audio Packets的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!