JL杰理蓝牙芯片交流论坛

标题: AC696怎么改变原厂音量等级 [打印本页]

作者: 咕噜咕噜    时间: 2023-8-16 15:58
标题: AC696怎么改变原厂音量等级
请问AC696怎么改变原厂音量等级,并且要保证音量同步呢?
作者: 马克    时间: 2023-8-16 16:03
1. 当想给系统设置一个音量值时可以用:
    app_audio_set_volume(app_audio_get_state(), 16, 1);
    但是这个时候设置的是设备的音量,手机端是不同步的,并且操作手机音量时
2. 如果想要同步可以用以下操作:
  1. void my_set_vol(u8 my_vol)
  2. {
  3.     app_var.music_volume = vol_sys_tab[my_vol];
  4.     app_var.opid_play_vol_sync = vol_sync_tab[my_vol];
  5.     app_audio_set_volume(APP_AUDIO_STATE_MUSIC, app_var.music_volume, 1);
  6.     user_send_cmd_prepare(USER_CTRL_AVCTP_OPID_SEND_VOL, 0, NULL);
  7. }
复制代码

传进去的值为设备音量表里的值,手机端有一个音量表会进行对应调整
3. 如果想设置音量等级为10级,
第一步要修改设备音量和手机音量表,
[attach]101[/attach]
第二步要改vol_sys_tab_init()和opid_play_vol_sync_fun()函数的数组数值改为对应的10,或者9.
这个时候就可以进行设备控制音量等级为10级进行加减音量了,但是手机控制音量调节时是错乱的,手机按到10级音量最大,10级后就错乱了,
4. 如何把手机控制也调成正常的10级对应.
[attach]102[/attach]
这个函数是通过手机加减音量来控制设备音量的
原本设备和手机音量等级都定的17级,所以16*8=128,刚好和volume+1是相等的,此时我们只需要改成10级对应的就行,9*14=126等于volume-1,下面两个标注是转换设备对应的音量表和手机对应音量表





欢迎光临 JL杰理蓝牙芯片交流论坛 (http://bbs.yunthinker.com/) Powered by Discuz! X3.4