一般来说,客户会有低延迟的需求,恒玄平台低延迟相关代码可以看这个文件:
services\bt_app\app_bt_stream.cpp
一般来说,用sbc来做低延迟游戏模式比较好,低延迟效果比较好,从测试来看能做到70-80ms。
办法一:首先,我们先看一下同时支持SBC和AAC的一些改法,想要简单的改法,就只需要去改以下SBC和AAC的MTU即可,比如这两个宏:
services\bt_app\app_bt_stream.cpp
#define A2DP_PLAYER_PLAYBACK_DELAY_AAC_MTU (8)
#define A2DP_PLAYER_PLAYBACK_DELAY_SBC_MTU (60)
跟踪代码找到引用的地方,改成接口的方式,就可以做成客制化功能了!
比如三击,app设定低延迟模式,不过这个该法相对简单,低延迟效果一般,也可以修改offset_mut把低延迟降低,具体可以去看相关的代码。
int bt_sbc_player(enum PLAYER_OPER_T on, enum APP_SYSFREQ_FREQ_T freq)
{
。。。 。。。
switch (codec_type)
{
case BTIF_AVDTP_CODEC_TYPE_SBC:
a2dp_audio_codec_type = A2DP_AUDIO_CODEC_TYPE_SBC;
dest_packet_mut = A2DP_PLAYER_PLAYBACK_DELAY_SBC_MTU;//可以修改为自己的函数接口
#ifdef A2DP_PLAYER_PLAYBACK_WATER_LINE
offset_mut =