请参考sink project, 调用AudioGetUserEqParameters().
这函式会令apps1发出IPC命令给Kymera, 但您会碰到peq_op没有被附于的问题.
Sink是在Audio chain建立时附于此值, 但earbud架构不同, 需在appKymeraA2dpStartMaster()
与appKymeraA2dpStartSlave()加上,
// Retrieve the output chain
kymera_chain_handle_t chain_handle = theKymera->chainu.output_vol_handle;
// Get the PEQ operator id
Operator peq_op = PanicZero(ChainGetOperatorByRole(chain_handle, OPR_PEQ));
// Setting the sample rate for the PEQ as the default is 8kHz
OperatorsStandardSetSampleRate(peq_op,rate);
AudioMusicProcessingUnregisterRole(audio_music_processing_user_peq_role);
AudioMusicProcessingRegisterRole(audio_music_processing_user_peq_role, peq_op); |