struggling with volume control/headphone jack in /examples-audiokit/basic-a2dp-audiokit/ #127
-
I already commented one of your blog entries as T.H. and I finally created a github account. I have the ESP32 Audiokit 2.2 3478 with es8388. But I still have some problems with using one of your audiotools examples, basic-a2dp-audiokit example / basic-a2dp-audiokit: 1) Volume seems to be applied independent for headphone and for speaker and I see no way to change it for the headphone. 1.1.) When I press buttons 5/6 on the audiokit this changes the volume of the speaker but not for the headpone 1.2.) I'm not sure about impact of kit.setVolume() , at least it didn't change the headphone volume - which values are allowed? I tried anything between 0...1.0 and 100 1.3) when I change the volume on my phone, (which streams to the audiokit), this changes both volumes, speaker and headphone -> how can I change the headphone volume? Why are buttons 5/6 limited to speaker? 2) with the current example there's no longer any headphone jack insert/remove detection. Is there same extra code needed? Do I need to define an action for this? I thought at this is standard behaviour. 3) Why can ES8388 be addressed even though the wrong address is configured in Es8388.c? But when I used I2C scan for 33,32 in my case the the result was 0x10. I.e. 0x10 vs. 0x20, how can this work? Thanks for your lib, and support. PS: the other lib that I mentioned above is : https://github.com/vanbwodonk/es8388arduino |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
As I have written in the introduction of the README of the audiokit project, I converted the code from ADF and I honestly don't know all the details. The easiest is, if you relate to the documentation from espressif If you are unhappy with the volume control provided by the AudioHAL, I suggest to implement the volume control as described in the Wiki of this project: This will affect all output. If you register your logic the the corresponding buttons, then the existing implementation just gets replaced. e.g. kit.addAction(kit.pinVolumeDown(), yourActionVolumeDown); Yesterday I corrected and tested the broken headphone detection and for me it was working. Try to install the latest versions of all libraries. I was struggling with the I2C address numbers for quite some time because the logic in IDF and the one in the Wire library are different and I got confused as well. I decided to stick with the numbering used by the IDF/ADF framework so that I can switch the implementation w/o changing any configuration. If you check in the i2c_wire.cpp I use addr >> 1 to map the IDF address to the Wire address.. |
Beta Was this translation helpful? Give feedback.
As I have written in the introduction of the README of the audiokit project, I converted the code from ADF and I honestly don't know all the details. The easiest is, if you relate to the documentation from espressif
If you are unhappy with the volume control provided by the AudioHAL, I suggest to implement the volume control as described in the Wiki of this project: This will affect all output. If you register your logic the the corresponding buttons, then the existing implementation just gets replaced. e.g. kit.addAction(kit.pinVolumeDown(), yourActionVolumeDown);
Yesterday I corrected and tested the broken headphone detection and for me it was working. Try to install the latest versions…