[Сценарий] Регулирование громкости

Не требует установки программ или изменения файлов

Модераторы: immortal, newz20

shurlin
Сообщения: 39
Зарегистрирован: Вс апр 22, 2012 3:18 pm
Благодарил (а): 0
Поблагодарили: 4 раза

[Сценарий] Регулирование громкости

Сообщение shurlin » Ср сен 05, 2012 10:41 pm

Сергей, добрый день

1. В процессе использования системы понял, что мне не хватает функции регулирования громкости звука ОС. По сути, мне нужно, чтобы была возможность контролировать громкость звука по расписанию, то есть днем можно погромче, ночью тише.
В моем случае это необходимо для XBMC, который крутит круглые сутки плейлист для музыки в санузле :)))
Существует софт Voice Concierge, который это делает, но хочется этот функционал в majordomo.

Возможно ли это реализовать? думаю это будет востребовано.

2. Так же не помешали бы настройки (в бэкэнде) уровня громкости алисы , по скольку в моем случае она автоматом микшируется с музыкой.

3. Ну и тут скорее вопрос. Можно как-нить сделать, чтобы при запуске системы не запускался браузер со страницей?

Спасибо,
А.

ЗЫ. Система на винде ХР.
За это сообщение автора shurlin поблагодарил:
Otto (Вс апр 24, 2016 3:46 pm)
Рейтинг: 1.16%
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Регулирование громкости

Сообщение sergejey » Чт сен 06, 2012 11:16 am

shurlin писал(а):Сергей, добрый день

1. В процессе использования системы понял, что мне не хватает функции регулирования громкости звука ОС. По сути, мне нужно, чтобы была возможность контролировать громкость звука по расписанию, то есть днем можно погромче, ночью тише.
В моем случае это необходимо для XBMC, который крутит круглые сутки плейлист для музыки в санузле :)))
Существует софт Voice Concierge, который это делает, но хочется этот функционал в majordomo.

Возможно ли это реализовать? думаю это будет востребовано.
Общий уровень громкости можно регулировать следующим образом:
1. Сделать метод для объекта ThisComputer с таким кодом:

http://clip2net.com/clip/m1/1346919235-clip-12kb.png

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

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

http://clip2net.com/clip/m1/1346919268-clip-16kb.png
shurlin писал(а): 2. Так же не помешали бы настройки (в бэкэнде) уровня громкости алисы , по скольку в моем случае она автоматом микшируется с музыкой.
Уровень громкости для голоса сделать можно, но только если его задавать в процентах от текущего общего уровня громкости. Сейчас речь проигрывается через проигрыватель madplay.exe, который идёт в комплекте. У него один из параметров это уровень громкости проигрываемого файла, но сейчас этот параметр не используется.
shurlin писал(а): 3. Ну и тут скорее вопрос. Можно как-нить сделать, чтобы при запуске системы не запускался браузер со страницей?

Спасибо,
А.

ЗЫ. Система на винде ХР.
Да, это легко. Надо найти файл pms_config.ini (у меня он в каталоге C:\_majordomo\) и в нём строчку типа

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

BrowserType=DEFAULT
заменить на
BrowserType=NONE
За это сообщение автора sergejey поблагодарили (всего 3):
Otto (Вс апр 24, 2016 3:45 pm) • AkaSoni (Пн май 13, 2019 6:12 pm) • alexmos (Вт дек 29, 2020 11:51 pm)
Рейтинг: 3.49%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
shurlin
Сообщения: 39
Зарегистрирован: Вс апр 22, 2012 3:18 pm
Благодарил (а): 0
Поблагодарили: 4 раза

Re: Регулирование громкости

Сообщение shurlin » Чт сен 06, 2012 9:06 pm

Сергей, спасибо за подсказку, увы, не работает.

сделал вроде все по инструкции, проверил 2 раза...

Когда по RDP заходишь, громкость не реагирует, даже если из командной строки запускать только прогу nircmdc.
Если же локально на машине из коммандой строки вызывать nircmdc setsysvolume 0 , то работает.

Из веб интерфейса не работает ни при каких раскладах. Попробовал заменить safe_exec на exec, заработало, но что и следовало ожидать, реагирует через раз...

В общем буду разбираться, похоже что у меня что то не так.
halt
Сообщения: 8
Зарегистрирован: Сб сен 22, 2012 1:16 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Регулирование громкости

Сообщение halt » Пн ноя 26, 2012 1:09 pm

У меня сработало на Windows Seven x32, только я сначало добавил глобальный метод объекту Computer на ThisComputer. Потом разобрался.
+ сделал слайдер а не + -, удобнее получается.
Athom
Сообщения: 17
Зарегистрирован: Ср ноя 21, 2012 2:05 am
Благодарил (а): 0
Поблагодарили: 0

Re: Регулирование громкости

Сообщение Athom » Пн дек 31, 2012 11:34 pm

Под линукс есть нативная утилита amixer. Как доделаю выложу наброски кода)
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 374 раза

Re: Регулирование громкости

Сообщение Bagir » Вт авг 12, 2014 10:47 pm

Первый день знакомства с MajorDoMo. Почитываю форум. Но пока что не встречал такой вот вопрос. Как сделать выбор звуковой карты, куда будет говорить и проигрывать звуки система. У меня в компе две звуковые карты. Одна для медиасервера, вторая для сети оповещателей, которые протянуты по дому. Звуковуха медиасервера выбрана "по умолчанию". Ну никак по другому. Для себя задачу решил так. Создал другого пользователя. У него выбрал по умолчанию вторую звуковуху, и запускаю процесс от имени того пользователя. Работает, хоть и выглядит криво. Возможно способ подойдет и тут. Но было бы красиво выбирать устройство вывода в самой системе.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Регулирование громкости

Сообщение Amarok » Ср авг 13, 2014 7:02 am

А если в качестве медиасервера взять XBMC? В нем можно указать какую звуковуху ему использовать
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 374 раза

Re: Регулирование громкости

Сообщение Bagir » Ср авг 13, 2014 10:37 am

Да, конечно можно. И я даже много пользовался XBMC. Плеер мне очень нравится. Удобно управлять с пульта ДУ. Но этот мой комп, где крутится сайт MajorDoMo, я полностью сервером назвать не могу. Скажем так, бывает смотрю на нем что то, или в интернете сижу, чтобы другой не включать. Если по умолчанию выбрать звуковуху, которая кричит в оповещатели, то частенько бывает туда улетают разные звуки. Конечно можно во многих плеерах и приложениях выбрать другую звуковую карту, но не во всех. Например видео со страниц в интернете. Я пробовал так. Но все таки вернулся обратно. Если бы комп был чисто сервером, то другое дело.
Так что сейчас это для меня весьма серьезная задачка. Потихоньку буду перетаскивать на сайт MajorDoMo все что уже есть и подключено к компу. У меня уже работают голосовые оповещения на движке синтеза речи. Вопрос с выбором звуковой карты там решен. Так что буду искать способы отправить звук с MajorDoMo тоже на вторую карту. Если кто что знает, пожалуйста подскажите куда копать. Опыта с MajorDoMo пока что практически нет.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Регулирование громкости

Сообщение sergejey » Ср авг 13, 2014 11:32 am

Если используется синтез речи Windows, то звуковую карту можно выбрать в настройках системы:

Изображение

Если включен синтез речи от Google, то тут сложнее. Система сначало скачивает mp3-файл, а потом его проигрывает через madplay.
Происходит это в файле /_majordomo/htdocs/lib/common.class.php в строчке

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

safe_exec(DOC_ROOT.'/rc/madplay.exe '.$filename, $exclusive, $priority); 
Я не нашёл какой параметр добавить к madplay.exe, чтобы указать на какую звуковую карту выдавать звук, но может у кого-то получится или кто-то подскажет альтернативный плеер командной строки с такой возможностью.
За это сообщение автора sergejey поблагодарил:
Otto (Вс апр 24, 2016 3:47 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 374 раза

Re: Регулирование громкости

Сообщение Bagir » Ср авг 13, 2014 12:13 pm

ВО! Спасибо! Думаю что получится. У меня постоянно работает моя простенькая программка, которая читает переданный ей текст и озвучивает медиафайлы. Задача с выбором звуковой карты там решена. Криво, но решена )) Так что в крайнем случае, я могу передавать озвучку файлов этой программе. Ну или поищу другой плеер. Да хоть наверное тот же AIMP3. Буду пробовать!

Для озвучки слов использую движок Алена. Приходятся помучатся с подбором слов для фразы, но получается довольно нормально. Вот только выбора звуковой карты тоже нету (( Приходится запускать процесс от имени другого пользователя, у которого эта карты выбрана основной.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить