kas5858 писал(а):Я сделал две громкости, системная и плеера. Я выставляю сначала системную под Алису, потом громкость плеера для музыки, таким способом получаю нужное мне. Очень удобно в разных сценариях,например играет музыка, мне кто то звонит, я поднимаю трубку автоматом громкость музыки уменьшается до комфортной а Алиса как говорила на своей громкости так и разговаривает.
Привет, я тоже сделал на малинке две громкости системная и плеера.
Плеер использую mpd
плеер регулирует громкость программно, для этого подкорректировал файл
modules/app_player/mpd.php
закоментировал строчку
у меня это 58 строчка
Код: Выделить всё
//safe_exec('amixer sset PCM,0 '.$volume.'%');
и вместо нее вставил код
Добавил метод в класс Computer
метод заглавил MasterVolumeLevelChanged
и код сделал:
Код: Выделить всё
$params['VALUE']=preg_replace('/[^0-9]/', '', $params['VALUE']);
$this->setProperty('MasterVolumeLevel',$params['VALUE']);
$input= array('100','95','90','85','80','75','70','65','60','55','50','45','40','35','30','25','20','15','10','5','0');
$output=array('100','99','98','96','95','93','91','89','87','85','83','80','77','73','71','66','61','53','43','25','0');
for ($i=0; $i <= count($input); $i++){
if ($input[$i]==$params['VALUE']){
$volume=$output[$i];
}}
safe_exec('amixer sset PCM,0 '.$volume.'%');
say("Изменилась громкость до ".$params['VALUE']." процентов");
В меню управления добавил раздел selectbox c заглавием Системная громкость
привязал к объекту ThisComputer
методу MasterVolumeLevelChanged
в поле данные вставил громкость в процентах с 0% - до 100% с интервалом 5
проверить, что новый регулятор корректно управляет громкость можно зайти по SSH и дать команду alsamixer
таким способом у меня новый регулятор управляет системной громкостью малинки, а старый регулятор управляет программно громкостью плеера mpd