Изменение громкости

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm

Re: Изменение громкости

Сообщение Sas »

Создаешь метод в нем дергаешь скрипт изменения системной громкости а сам метод дергаешь слайдером
Аватара пользователя
foxvlad
Сообщения: 287
Зарегистрирован: Пн сен 22, 2014 3:18 pm
Откуда: Сочи
Контактная информация:

Re: Изменение громкости

Сообщение foxvlad »

Sas писал(а):Создаешь метод в нем дергаешь скрипт изменения системной громкости а сам метод дергаешь слайдером
Что имеете ввиду под дергаешь скрипт?
Аватара пользователя
foxvlad
Сообщения: 287
Зарегистрирован: Пн сен 22, 2014 3:18 pm
Откуда: Сочи
Контактная информация:

Re: Изменение громкости

Сообщение foxvlad »

$volume=round(65535*$params['VALUE']/100);
$this->setProperty('volumeLevel',$params['VALUE']);
safe_exec('..\\apps\\nircmd\\nircmdc setsysvolume '.$volume);
say("Изменилась громкость до ".$params['VALUE']." процентов");

Если это, то значение volumeLevel меняется, Алиса тоже сообщает что громкость изменилась, а громкость не меняется

А через стандартную регулировку меняется, но Алиса нечего не сообщает значит там где-то другой метод?
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

Re: Изменение громкости

Сообщение skysilver »

foxvlad писал(а):safe_exec('..\\apps\\nircmd\\nircmdc setsysvolume '.$volume);
Оно ж для винды, на малине работать не будет. ))
Тут ответил - viewtopic.php?f=3&t=2212&start=220#p37974
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
foxvlad
Сообщения: 287
Зарегистрирован: Пн сен 22, 2014 3:18 pm
Откуда: Сочи
Контактная информация:

Re: Изменение громкости

Сообщение foxvlad »

Может кому надо будет, вот так заработало:
safe_exec('amixer -c 0 -q set PCM '.$params['VALUE'].'% unmute');
setGlobal('ThisComputer.MasterVolume', $params['volume']);
ahelper
Сообщения: 106
Зарегистрирован: Ср фев 08, 2017 5:04 pm

Re: Изменение громкости

Сообщение ahelper »

Приветствую. Подскажите пожалуйста как можно реализовать возврат первоначальной громкости стоявшей до изменения методом

Код: Выделить всё

// это однократный будильник, выключим его
    sg("AlarmOne.AlarmOn",0);
//Меняем громкость
    $vol=gg("AlarmOne.AlarmVol");
    callMethod('ThisComputer.VolumeLevelChanged', array('VALUE'=>$vol));
    sleep(5);
// все проснулись
    setGlobal("SleepAllMode.active",0);
    say('Тест будильника',1);
// включим радио
    callMethod("Radio.RadioPlay");
// запланируем выключить радио через 1час
    SetTimeOut("AlarmOne_RadioStop",'callMethod("Radio.RadioStop");', 3600);

    callMethod('ThisComputer.VolumeLevelChanged', array('VALUE'=>95));
В данном коде я принудительно возвращаю 95% громкости, а нужно вернуть громкость которая была до изменения.
Аватара пользователя
xor
Сообщения: 2044
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: Изменение громкости

Сообщение xor »

У вас есть же ThisComputer.volumeLevel, где хранится текущая громкость?
Перед изменением громкости в методе сохраните текущий уровень в переменной в начале метода,
а в конце поставьте вместо 95 значение запомненной переменной.

Код: Выделить всё

$cur_vol=gg('ThisComputer.volumeLevel');
...
callMethod('ThisComputer.VolumeLevelChanged', array('VALUE'=>$cur_vol));
 
Alex77
Сообщения: 215
Зарегистрирован: Вс мар 05, 2017 2:18 pm

Re: Изменение громкости

Сообщение Alex77 »

foxvlad писал(а):Может кому надо будет, вот так заработало:
safe_exec('amixer -c 0 -q set PCM '.$params['VALUE'].'% unmute');
setGlobal('ThisComputer.MasterVolume', $params['volume']);

это похоже на тоже самое что мы выбираем процент в плеере, но при этом голос алисы все равно громкий - как сам голом уменьшить?
Аватара пользователя
alx69
Сообщения: 122
Зарегистрирован: Чт фев 09, 2017 12:42 pm
Откуда: Киев, Украина

Re: Изменение громкости

Сообщение alx69 »

Alex77 писал(а): это похоже на тоже самое что мы выбираем процент в плеере, но при этом голос алисы все равно громкий - как сам голом уменьшить?
Для raspberry это справедливо все и уровень громкости Алисы изменяется именно так, но есть одно НО - в реальности заметить изменение громкости можно только между 75% и 100%. Все, что ниже 75% особо заметно по громкости не будет. Где-то явно ошибка в прошивке самой raspberry. После 75% громкость идет как-то скачкообразно.
Raspberry PI 3, 4 (MicroSD+HDD/SSD) + Netatmo + Xiaomi + Sonoff + Broadlink + Livolo/Funry/Sesoo + Ghome + Irbis (Алиса)
CONNECT
Alex77
Сообщения: 215
Зарегистрирован: Вс мар 05, 2017 2:18 pm

Re: Изменение громкости

Сообщение Alex77 »

alx69 писал(а):
Alex77 писал(а): это похоже на тоже самое что мы выбираем процент в плеере, но при этом голос алисы все равно громкий - как сам голом уменьшить?
Для raspberry это справедливо все и уровень громкости Алисы изменяется именно так, но есть одно НО - в реальности заметить изменение громкости можно только между 75% и 100%. Все, что ниже 75% особо заметно по громкости не будет. Где-то явно ошибка в прошивке самой raspberry. После 75% громкость идет как-то скачкообразно.

Когда мы в плеере выбираем громкость, это громкость самой программы плеера да? поэтому тут все ок. а когда Алиса говорит то это системный звук и его вы говорит менять только командой которая выше так?

И что столько народу на малинке и не у кого не возникала сделать алису потише? что то я слабо в это верю.
Ответить