|
发表于 2023-8-16 16:03:57
|
显示全部楼层
1. 当想给系统设置一个音量值时可以用:
app_audio_set_volume(app_audio_get_state(), 16, 1);
但是这个时候设置的是设备的音量,手机端是不同步的,并且操作手机音量时
2. 如果想要同步可以用以下操作:
- void my_set_vol(u8 my_vol)
- {
- app_var.music_volume = vol_sys_tab[my_vol];
- app_var.opid_play_vol_sync = vol_sync_tab[my_vol];
- app_audio_set_volume(APP_AUDIO_STATE_MUSIC, app_var.music_volume, 1);
- user_send_cmd_prepare(USER_CTRL_AVCTP_OPID_SEND_VOL, 0, NULL);
- }
复制代码
传进去的值为设备音量表里的值,手机端有一个音量表会进行对应调整
3. 如果想设置音量等级为10级,
第一步要修改设备音量和手机音量表,
第二步要改vol_sys_tab_init()和opid_play_vol_sync_fun()函数的数组数值改为对应的10,或者9.
这个时候就可以进行设备控制音量等级为10级进行加减音量了,但是手机控制音量调节时是错乱的,手机按到10级音量最大,10级后就错乱了,
4. 如何把手机控制也调成正常的10级对应.
这个函数是通过手机加减音量来控制设备音量的
原本设备和手机音量等级都定的17级,所以16*8=128,刚好和volume+1是相等的,此时我们只需要改成10级对应的就行,9*14=126等于volume-1,下面两个标注是转换设备对应的音量表和手机对应音量表
|
|