1、取消及打开电量显示功能
这个简单,在bt_configs_user.h中,按照说明进行更改就可以了
2、音量同步(基于sdk为2.6.0版本)
如果需要音量同步。同样,在bt_configs_user.h中找的下图这句,进行注释或者打开。
但是这样只是打开了支持音量同步功能。苹果手机有可能会出现按一下音量加减键,苹果音量图标出现不增加(减少)或者增加(减少)两格或多格的情况。
由于苹果手机音量等级有0~16级。所以我们就需要自定义几个数组。
通过上图传入的两个参数,可以找到这两个函数体,分别为
static void set_device_volume(int volume)
static int get_dac_vol()
发送的音量同步信息就是在这里面处理的。
以下苹果手机是所对应的
127->16
119->15
111->14
103->13
95->12
87->11
79->10
71->9
63->8
55->7
47->6
39->5
37->4
23->3
15->2
7->1
0->0
在static void set_device_volume(int volume)上方添加以下代码
static u8 iphone_vol_map[USER_VOL_MAX+1]=
{
0,
7,
15,
23,
31,
39,
47,
55,
63,
71,
79,
87,
95,
103,
111,
119,
127
};
u8 GetCuriphone_VolumeIndex(int ivolume)
{
u8 i;
for(i=0;i<=16;i++)
{
if(iphone_vol_map[i]>=ivolume)
{
return i;
}
}
return 16;
}
然后替换掉原来的
这里音量同步的就完成了!哈哈哈哈~
在这里也许你会发现多了个volume_MAP,这个就是是自己自定义的音量表。
在board.c文件中添加以下代码
#define USER_VOL_MAX 16 //16级音量
const u16 volume_MAP[USER_VOL_MAX+1]=
{
0,
2,
4,
6,
8,
10,
12,
14,
16,
18,
20,
22,
24,
26,
28,
29,
30,
};
extern struct SOUND_VAR sound;
u8 GetCurUserVolumeIndex(void)
{
u8 i;
for(i=0;i<=USER_VOL_MAX;i++)
{
if(volume_MAP[i]>=(sound.vol.sys_vol_l))
{
return i;
}
}
return USER_VOL_MAX;
}
u8 ToneGetCurUserVolumeIndex(void)
{
u8 i;
for(i=0;i<=USER_VOL_MAX;i++)
{
if(volume_MAP[i]>=(sound.tmp_sys_vol_l))
{
return i;
}
}
return USER_VOL_MAX;
}