Hi Ich hätte mal eine Frage bezüglich alsa und dem Setzen der Lautstärke. Ich kann zwar von der Commandline und auch von eine C Programm heraus die Lautstärke setzten aber immer nur in Prozent vom Dezibel Wert. Ich lese zuerst den Bereich der Lautstärke für das jeweilige Element aus und versuche danach die dazugehörigen Werte mit der Funktion snd_mixer_selem_ask_playback_dB_vol zu erhalten. Als min-Wert bekomme ich 0 und max-Wert 76 aber bei den dazugehörigen Werten kommt immer 76 raus. Im alsamixer bekomme ich bei 0% folgende Nachricht „Speaker [dB gain: -76.00, -76.00]“. Vielleicht kennt einer ja dieses Problem und kann mir Helfen. Danke im Vorhinein!
1 | long value = 0, min_vol=0, max_vol=0; |
2 | snd_mixer_selem_get_playback_volume_range(elem, &min, &max); |
3 | cout << "MIN == " << min << endl; // = 0 |
4 | cout << "MAX == " << max << endl; // = 76 |
5 | if (snd_mixer_selem_ask_playback_dB_vol(elem, min,1, &min_vol) != 0) |
6 | cout << "ERROR" << endl; |
7 | cout << "min_vol == " << min_vol <<endl; // = 76 |
8 | if (snd_mixer_selem_ask_playback_dB_vol(elem, max,1, &max_vol) != 0) |
9 | cout << "ERROR" << endl; |
10 | cout << "max_vol == " << max_vol <<endl; // = 76 |