Страница 1 из 2
[Сценарий] Регулирование громкости
Добавлено: Ср сен 05, 2012 10:41 pm
shurlin
Сергей, добрый день
1. В процессе использования системы понял, что мне не хватает функции регулирования громкости звука ОС. По сути, мне нужно, чтобы была возможность контролировать громкость звука по расписанию, то есть днем можно погромче, ночью тише.
В моем случае это необходимо для XBMC, который крутит круглые сутки плейлист для музыки в санузле

))
Существует софт Voice Concierge, который это делает, но хочется этот функционал в majordomo.
Возможно ли это реализовать? думаю это будет востребовано.
2. Так же не помешали бы настройки (в бэкэнде) уровня громкости алисы , по скольку в моем случае она автоматом микшируется с музыкой.
3. Ну и тут скорее вопрос. Можно как-нить сделать, чтобы при запуске системы не запускался браузер со страницей?
Спасибо,
А.
ЗЫ. Система на винде ХР.
Re: Регулирование громкости
Добавлено: Чт сен 06, 2012 11:16 am
sergejey
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=NONE
Re: Регулирование громкости
Добавлено: Чт сен 06, 2012 9:06 pm
shurlin
Сергей, спасибо за подсказку, увы, не работает.
сделал вроде все по инструкции, проверил 2 раза...
Когда по RDP заходишь, громкость не реагирует, даже если из командной строки запускать только прогу nircmdc.
Если же локально на машине из коммандой строки вызывать nircmdc setsysvolume 0 , то работает.
Из веб интерфейса не работает ни при каких раскладах. Попробовал заменить safe_exec на exec, заработало, но что и следовало ожидать, реагирует через раз...
В общем буду разбираться, похоже что у меня что то не так.
Re: Регулирование громкости
Добавлено: Пн ноя 26, 2012 1:09 pm
halt
У меня сработало на Windows Seven x32, только я сначало добавил глобальный метод объекту Computer на ThisComputer. Потом разобрался.
+ сделал слайдер а не + -, удобнее получается.
Re: Регулирование громкости
Добавлено: Пн дек 31, 2012 11:34 pm
Athom
Под линукс есть нативная утилита amixer. Как доделаю выложу наброски кода)
Re: Регулирование громкости
Добавлено: Вт авг 12, 2014 10:47 pm
Bagir
Первый день знакомства с MajorDoMo. Почитываю форум. Но пока что не встречал такой вот вопрос. Как сделать выбор звуковой карты, куда будет говорить и проигрывать звуки система. У меня в компе две звуковые карты. Одна для медиасервера, вторая для сети оповещателей, которые протянуты по дому. Звуковуха медиасервера выбрана "по умолчанию". Ну никак по другому. Для себя задачу решил так. Создал другого пользователя. У него выбрал по умолчанию вторую звуковуху, и запускаю процесс от имени того пользователя. Работает, хоть и выглядит криво. Возможно способ подойдет и тут. Но было бы красиво выбирать устройство вывода в самой системе.
Re: Регулирование громкости
Добавлено: Ср авг 13, 2014 7:02 am
Amarok
А если в качестве медиасервера взять XBMC? В нем можно указать какую звуковуху ему использовать
Re: Регулирование громкости
Добавлено: Ср авг 13, 2014 10:37 am
Bagir
Да, конечно можно. И я даже много пользовался XBMC. Плеер мне очень нравится. Удобно управлять с пульта ДУ. Но этот мой комп, где крутится сайт MajorDoMo, я полностью сервером назвать не могу. Скажем так, бывает смотрю на нем что то, или в интернете сижу, чтобы другой не включать. Если по умолчанию выбрать звуковуху, которая кричит в оповещатели, то частенько бывает туда улетают разные звуки. Конечно можно во многих плеерах и приложениях выбрать другую звуковую карту, но не во всех. Например видео со страниц в интернете. Я пробовал так. Но все таки вернулся обратно. Если бы комп был чисто сервером, то другое дело.
Так что сейчас это для меня весьма серьезная задачка. Потихоньку буду перетаскивать на сайт MajorDoMo все что уже есть и подключено к компу. У меня уже работают голосовые оповещения на движке синтеза речи. Вопрос с выбором звуковой карты там решен. Так что буду искать способы отправить звук с MajorDoMo тоже на вторую карту. Если кто что знает, пожалуйста подскажите куда копать. Опыта с MajorDoMo пока что практически нет.
Re: Регулирование громкости
Добавлено: Ср авг 13, 2014 11:32 am
sergejey
Если используется синтез речи Windows, то звуковую карту можно выбрать в настройках системы:
Если включен синтез речи от Google, то тут сложнее. Система сначало скачивает mp3-файл, а потом его проигрывает через madplay.
Происходит это в файле /_majordomo/htdocs/lib/common.class.php в строчке
Код: Выделить всё
safe_exec(DOC_ROOT.'/rc/madplay.exe '.$filename, $exclusive, $priority);
Я не нашёл какой параметр добавить к madplay.exe, чтобы указать на какую звуковую карту выдавать звук, но может у кого-то получится или кто-то подскажет альтернативный плеер командной строки с такой возможностью.
Re: Регулирование громкости
Добавлено: Ср авг 13, 2014 12:13 pm
Bagir
ВО! Спасибо! Думаю что получится. У меня постоянно работает моя простенькая программка, которая читает переданный ей текст и озвучивает медиафайлы. Задача с выбором звуковой карты там решена. Криво, но решена )) Так что в крайнем случае, я могу передавать озвучку файлов этой программе. Ну или поищу другой плеер. Да хоть наверное тот же AIMP3. Буду пробовать!
Для озвучки слов использую движок Алена. Приходятся помучатся с подбором слов для фразы, но получается довольно нормально. Вот только выбора звуковой карты тоже нету (( Приходится запускать процесс от имени другого пользователя, у которого эта карты выбрана основной.