Horn in the Multiuser project
Кишко Сергей; 16.12.03
В многопользовательском проекте нет возможности независимого
отключения(и включения)сирены - Horn.В качестве audio device
используются стандартные аудио-карты с выходом на активные
колонки.Так вот сирена начинает выть в случае аварийной ситуации
одновременно и на сервере, и на клиентских машинах.Выключить
раздельно ее тоже нельзя (например,чтобы на сервере она звучала,а
на клиенте - нет).Проблема в том,что включение сирены (и ее
выключе-
ние) привязывается к тэгу,а не к компьютеру.Проблема может быть
решена с использованием вместо Horn элемента ActiveX
WindowsMediaPlayer, но на него нет описания,а среди его свойств
я не нашел тех,которые его запускают и останавливают(что-то вроде
"Play" and "Stop"), мне удалось лишь запустить его при открытии с
помощью установки "AutoPlay" в "Yes".Был бы очень признателен
тому,кто помог бы в этом вопросе.
Re: Horn in the Multiuser project
Александр Родин, ООО
"Нева Электрик"; 17.12.03
В приниципе, вопрос вывода звука уже обсуждался здесь много раз,
правда многопользовательские системы не затрагивались. Попробуйте
использовать API-шные функции. Если надо, могу выслать пример.
Re: Horn in the Multiuser project
Yrok; 17.12.03
PlaySound("C:\\FileName",NULL,SND_FILENAME);
#define SND_FILENAME 0x00020000L
}
Re: Horn in the Multiuser project
Alexis; 18.12.03
На счет мультиюзверевского проекта - чтобы звук был общий для всех
компов или раздельный: там же весь смысл в том, что есть тэги
@Signal1-3 (которые Computer-local update) и в startup-е на каждом
компе запускается hmrt.exe который и взводит тэги при наличии
сообщений. Ну дык смысл - @Signal1-3 сделать Project-wide update и
hmrt.exe запускать токо на сервере - тогда звук должен быть единым
для всего проекта и отключение тоже должно быть единым. Попробуй...
:)
Re: Horn in the Multiuser project
Сергей
Кишко; 18.12.03
пробовал использовать функцию WinAPI PlaySound,но не могу
пропихнуть ее под WINCC (v6.0). Под C++Builder для этого достаточно
прописать
#include <mmsystem.h> и все.
Без включения этой строки WINCC этой функции,естественно, не
находит. Пробовал включить эту строку в файл "apdefap.h", а сам
файл скопировать в тот же каталог - ошибки
при компиляции - компилятор WINCC не понимает многих директив в
этом файле. В чем тут дело?
Был бы признателен,если вышлете пример.
Re: Horn in the Multiuser project
Маслов
Дмитрий; 19.12.03
Создайте функцию проекта со следующим кодом:
#pragma code ("winmm.dll")
BOOL WINAPI PlaySound(LPCSTR pszSound, HMODULE hmod, DWORD
fdwSound);
#pragma code()
void PlaySoundWinCC(LPCSTR Name)
{
if (!PlaySound(Name, NULL, 0x00020000L)) printf("Playing the sound
%s failed\r\n", Name);
}
Вызывайте ее там, где нужно, передаваю в нее имя wav-файла.
См. Центр технической поддержки по
WinCC
Re: Horn in the Multiuser project
Кишко Сергей; 21.12.03
Большое спасибо всем, особое - Дмитрию Маслову и Александру
Родину.