高通Le Audio广播接收Auracast™ broadcast audio

AUX和I2S 高通Le Audio广播接收Auracast™ broadcast audio

蓝牙版本:V5.4

开关机:开机脚上升沿开机,下降沿关机。

广播主从:PIO15 高电平为广播模式,低电平为接收模式。
支持动态切换。

AMP:有音频输出时PIO4高电平,无音频输出时PIO4低电平。

音量调节:PIO22短按音量加,PIO23短按音量减。

Led:开机后呼吸灯指示。

AUX输入检测:PIO5高电平未插入,低电平插入,仅仅在广播模式下生效,接收模式无效。

I2S输入检测:PIO20高电平未插入,低电平插入, 仅仅在广播模式下生效,接收模式无效。

I2S优先级大于AUX,即I2S和AUX同时检测到时,取I2S音频。

I2S引脚定义:
SCK: PIO16
WS: PIO17
SD_IN:PIO19

I2S格式配置如下:
I2S做从
采样率48K
左对齐,1 Bit Delay
在这里插入图片描述
在这里插入图片描述

void Kymera_ConfigureMusicProcessing(uint32 sample_rate)
{
if(Kymera_IsMusicProcessingPresent())
{
kymera_chain_handle_t chain = KymeraGetTaskData()->chain_music_processing_handle;
Operator eq;
Operator user_eq;

    PanicNull(chain);

    PanicFalse(Kymera_SetOperatorUcid(chain, OPR_ADD_HEADROOM, UCID_PASS_ADD_HEADROOM));
    PanicFalse(Kymera_SetOperatorUcid(chain, OPR_SPEAKER_EQ, UCID_SPEAKER_EQ));
    PanicFalse(Kymera_SetOperatorUcid(chain, OPR_REMOVE_HEADROOM, UCID_PASS_REMOVE_HEADROOM));


    eq = PanicZero(ChainGetOperatorByRole(chain, OPR_SPEAKER_EQ));
    OperatorsStandardSetSampleRate(eq, sample_rate);

    user_eq = ChainGetOperatorByRole(chain, OPR_USER_EQ);
    if(user_eq)
    {
        OperatorsStandardSetSampleRate(user_eq, sample_rate);

#if defined(INCLUDE_MUSIC_PROCESSING)
Kymera_SelectEqBankNow(KymeraGetTaskData()->eq.selected_eq_bank);
#endif
}

    if(KymeraGetTaskData()->chain_config_callbacks && KymeraGetTaskData()->chain_config_callbacks->ConfigureMusicProcessingChain)
    {
        kymera_music_processing_config_params_t params = {0};
        params.sample_rate = sample_rate;
        KymeraGetTaskData()->chain_config_callbacks->ConfigureMusicProcessingChain(chain, &params);
    }

    ChainConnect(chain);
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值