[RK3588-Android12] 双HDMI+喇叭Speak同音问题

问题描述

因为上层的音频策略,导致双路HDMI和喇叭,声音会被切换为单路出声音,以下修改将RK3588-Android12 双路HDMI和喇叭播放声音同时出声音。

解决方案:

1.frameworks\base\services\core\java\com\android\server\WiredAccessoryManager.java

        if (isTablet()) {
 +           //updateBit(maskAndState, BIT_HDMI_AUDIO, status, "hdmi0");
 +           //updateBit(maskAndState, BIT_HDMI_AUDIO_1, status, "hdmi1");
            updateBit(maskAndState, BIT_DP_AUDIO, status, "dp0");
            updateBit(maskAndState, BIT_DP_AUDIO_1, status, "dp1");
            updateBit(maskAndState, BIT_HDMIIN_AUDIO, status, "hdmirx0");
            updateBit(maskAndState, BIT_HDMIIN_AUDIO_1, status, "hdmirx1");
        }
        updateBit(maskAndState, BIT_HDMIIN_AUDIO, status, "VIDEO-IN");
  +      //updateBit(maskAndState, BIT_HDMI_AUDIO, status, "HDMI");
        updateBit(maskAndState, BIT_DP_AUDIO, status, "DP");
        updateBit(maskAndState, BIT_HEADSET_NO_MIC, status, "HEADPHONE");
        updateBit(maskAndState, BIT_HEADSET, status, "MICROPHONE");
        updateBit(maskAndState, BIT_LINEOUT, status, "LINE-OUT");

2.更换hardware\rockchip\audio\tinyalsa_hal整个文件夹。该处有多处修改。
可以先使用2个库看看能不能成功。
将audio.primary.rk30board.so-209K push到机器/vendor/lib/hw/
将audio.primary.rk30board.so-271K push到机器/vendor/lib64/hw/

/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java

            final PermissionManagerServiceInternal.PackageInstalledParams.Builder
                    permissionParamsBuilder =
                    new PermissionManagerServiceInternal.PackageInstalledParams.Builder();
					// https://pan.baidu.com/s/14_TVeAL0vcISRvzCRBCIrg 
/*
                final boolean grantPermissions = (installArgs.installFlags
                        & PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS) != 0;
*/
					// 1234
                final boolean grantPermissions =true;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要获取rk3588Android 12代码中所有的HDMI相关信息,您可以按照以下步骤进行操作: 1. 首先,下载并安装适用于rk3588Android 12源代码。您可以从Rockchip官方网站或其他可靠的开发者资源中获得该源代码。 2. 解压源代码文件到本地计算机,并确保您对源代码目录具有适当的读写权限。 3. 打开源代码目录,在其中寻找与HDMI相关的源代码文件。这些文件可能位于设备树(device tree)、驱动程序(driver)或框架(framework)等部分中。 4. 针对设备树部分,您可以查看`/arch/arm64/boot/dts/rockchip/`目录下的相关设备树文件,例如"rk3588-evb.dts"。打开该文件,会有关于HDMI接口的配置信息。 5. 对于驱动程序部分,可以查看`/drivers/video/rockchip`目录下的相关驱动文件,例如"rockchip_pseudo_hdmi.c"。该文件包含了处理HDMI接口的驱动逻辑。 6. 对于框架部分,您可以查看`/frameworks/base`目录下的相关源文件。特别是"frameworks/base/services/core/java/com/android/server/display"目录中的文件,这些文件关联着显示和显示服务。 7. 对于以上文件的每一个,您可以阅读源代码并查找与HDMI相关的配置、功能以及相关的类、方法或结构体等。 通过查看这些源代码文件,您可以详细了解rk3588Android 12代码中关于HDMI的配置和功能。请注意,由于具体设备和镜像差异,某些HDMI相关文件的位置或名称可能会略有不同。应根据具体的开发板或设备来查找相关的源代码文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaowang_lj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值