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
|