EN
Home > FAQ | awinic > [FAQ0101434] Awinic_SKTV6算法兼容MTK平台安卓15方案.

[FAQ0101434] Awinic_SKTV6算法兼容MTK平台安卓15方案.

Audio 2025-02-26 Views: 55 Likes: 8

A:一、MTK平台参考Awinic算法压缩包内提供的awinic_audio_effect_porting.patch移植完算法后,编译出现下图的报错信息:

error: invalid operands to binary expression ('const vector<audio_devices_t>' and 'audio_devices_t')

1061 | if (mStreamAttributeSource->output_devices & AUDIO_DEVICE_OUT_SPEAKER) {

| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~

报错原因:在安卓15平台两个变量的定义的类型不一致,output_devices是vector<audio_devices_t>类型,而 AUDIO_DEVICE_OUT_SPEAKER是audio_devices_t枚举值,不能直接对vector和枚举值进行位运算操作

原始方案:

output_devices和AUDIO_DEVICE_OUT_SPEAKER直接进行位运算判断音频流的输出设备中是否包含扬声器

修改方案:

使用平台的函数接口 hasTargetDevice()判断当前音频流的输出设备是否包含扬声器

修改参考

/************************************* awinic add ********************************************/

//#ifdef AWINIC_EFFECT_SUPPORT

if (hasTargetDevice(mStreamAttributeSource->output_devices, AUDIO_DEVICE_OUT_SPEAKER)) {

m_awinic.is_module_enable = true;

} else {

m_awinic.is_module_enable = false;

}

//#endif

/************************************** awinic add end ******************************************/

Back to FAQ List