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

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

Модератор: immortal

Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm
Благодарил (а): 2 раза
Поблагодарили: 14 раз

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

Сообщение Sas » Чт сен 22, 2016 10:50 pm

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

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

Сообщение foxvlad » Чт сен 22, 2016 11:36 pm

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

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

Сообщение foxvlad » Чт сен 22, 2016 11:40 pm

$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
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Пт сен 23, 2016 9:49 pm

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
Откуда: Сочи
Благодарил (а): 78 раз
Поблагодарили: 78 раз
Контактная информация:

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

Сообщение foxvlad » Вт сен 27, 2016 11:51 am

Может кому надо будет, вот так заработало:
safe_exec('amixer -c 0 -q set PCM '.$params['VALUE'].'% unmute');
setGlobal('ThisComputer.MasterVolume', $params['volume']);
За это сообщение автора foxvlad поблагодарили (всего 2):
kas5858 (Пн янв 30, 2017 9:34 am) • Otto (Вт апр 11, 2017 5:32 pm)
Рейтинг: 2.33%
ahelper
Сообщения: 106
Зарегистрирован: Ср фев 08, 2017 5:04 pm
Благодарил (а): 34 раза
Поблагодарили: 66 раз

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

Сообщение ahelper » Сб фев 18, 2017 9:44 pm

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

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

// это однократный будильник, выключим его
    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
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Сб фев 18, 2017 10:20 pm

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

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

$cur_vol=gg('ThisComputer.volumeLevel');
...
callMethod('ThisComputer.VolumeLevelChanged', array('VALUE'=>$cur_vol));
 
За это сообщение автора xor поблагодарил:
ahelper (Сб фев 18, 2017 10:37 pm)
Рейтинг: 1.16%
Alex77
Сообщения: 215
Зарегистрирован: Вс мар 05, 2017 2:18 pm
Благодарил (а): 21 раз
Поблагодарили: 6 раз

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

Сообщение Alex77 » Вс май 21, 2017 3:11 pm

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

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

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

Сообщение alx69 » Пн май 22, 2017 12:07 pm

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
Благодарил (а): 21 раз
Поблагодарили: 6 раз

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

Сообщение Alex77 » Пн май 22, 2017 4:43 pm

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

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

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