Обновил модуль и программу. По неясным мне причинам, поссорились части кода приёма и отправки. Переделал всё на Microsoft Internet Control. На первый взгляд получилось даже интереснее. На сколько стабильно покажет время.
Изменилось имя функции в хуке на
After PlaySound (code):
Код: Выделить всё
include_once(DIR_MODULES.'sdm/sdm.class.php'); $dm=new sdm(); $dm->setTask($filename);
setTask теперь ставит любые задачи и по части команд и фоновую музыку тоже.
Подробное описание работы с фоновой музыкой завтра.
А кому хочется скорее попробовать, то работает примерно так:
Код: Выделить всё
include_once(DIR_MODULES.'sdm/sdm.class.php');
$dm=new sdm();
$sh = $dm->setTask('-music:play D:\Server\apps\SDM\song.mp3');
echo $sh;
-music:play указывает что это задача фоновой музыки а не звуковое уведомление.
В ответ получим streamHandle:-2147483646. Хендл надо запомнить. С помощью него потом можно управлять задачей примерно так:
Код: Выделить всё
include_once(DIR_MODULES.'sdm/sdm.class.php'); $dm=new sdm(); $dm->setTask('-music:stop -streamhandle:-2147483640');
include_once(DIR_MODULES.'sdm/sdm.class.php'); $dm=new sdm(); $dm->setTask('-music:pause -streamhandle:-2147482598');
include_once(DIR_MODULES.'sdm/sdm.class.php'); $dm=new sdm(); $dm->setTask('-music:play -streamhandle:-2147482598');
При завершении проигрывания трека будет вызван сценарий, который указан в ini файле. Посмотреть что там приходит можно так:
Создадим новый сценарий sdmReceiver
Код: Выделить всё
print_r( $_GET ) ) ;
debmes('sdmReceiver '.implode(' ', $_GET ) );
По завершению проигрывания этот сценарий будет вызван и ему будет передан streamhandle. Исходя из этого мы можем выдать следующую задачу на воспроизведение. Подробное описание тоже позже в примерах. Читайте в первом и втором посте.
Уровни тут каждый выбирает сам как хочет. Я лишь могу предложить свой выбор и немного рассказать об настройках модуля.
-1 Написать только в чате. Не говорить вообще.
0 Обычные. Ночью громкость может быть уменьшена, а сообщения переадресованы на ночной канал.
1 Тоже обычные сообщения. Но они не будут переадресованы ночью. Звучат во всех каналах.
2 Тоже самое что и 1, но тут мы можем, настроить отправку и на мобильный телефон.
3 Важные. Громкость их будет установлена 100%
4 Критические. Можно добавить код включения крикуна на несколько секунд.
Настройки модуля позволяют вам самим указать уровень для всех типов. А значит можно как сократить, так и расширить этот список.