При помощи ActiveX и Windows Media Player в Terrasoft 3.X можно воспроизводить видеоролики и аудиозаписи.
Это может пригодиться для встраивания в конфигурацию видеоинструкций.
Для этого размещаем на форме ActiveXControl, присваиваем его свойству ActiveXGUID значение {6bf52a52-394a-11d3-b153-00c04f79faa6} (или ActiveXProgID значение WMPlayer.OCX.7). Назовём компонент axcWmp.
Появляется плеер, им можно управлять программно.
function btnOpenOnClick(Control){ //адрес файла на диске var fileName ="d:\\video.avi"; //скрываем стандартную панель инструментов плеера //если её надо отображать - то ставим "full" или "mini" //для аудио можно спрятать объект целиком: axcWmp.IsVisible = false;
axcWmp.ActiveXObject.uiMode="none"; //открываем и начинаем проигрывать файл
axcWmp.ActiveXObject.URL= fileName; }
function btnPauseOnClick(Control){ //ставим на паузу
axcWmp.ActiveXObject.controls.pause(); }
function btnPlayOnClick(Control){ //продолжаем воспроизведение после паузы
axcWmp.ActiveXObject.controls.play(); }
function btnSetVolumeOnClick(Control){ //выставляем уровень громкости
axcWmp.ActiveXObject.settings.Volume= edtVolume.Value; }
АктивИкс контрол должен иметь вид с ползунками своих стандартных контролов.
Если я не ошибаюсь, это uiMode.
Возможно, вы используете самый сокращенный вид отображения, а это не удобно.
Пользователю нужно давать все стандартные функции проигрывателя (Full Screen, громкости, яркости, и другие настройки) тогда ваша идея будет очень даже ничего! :)
Подскажите пожалуйста, у меня проигрыватель имеет другой внешний вид (см. скриншот) и кнопками управлять не получается, как в этом случае воспроизводить видео?
У меня 2 вопроса:
1. Можно ли воспроизводить встроенными кнопками?
2. Как убрать встроенные кнопки? Сейчас проигрыватель отображается, как у меня нас скриншоте.
var objVoice = System.CreateObject("SAPI.SpVoice"); var objFile = System.CreateObject("SAPI.SpFileStream.1");
objFile.Open("c:\\Windows\\Media\\Windows XP Startup.wav");
objVoice.Speakstream(objFile);
Подходящие файлы с системными звуками Windows лежат в папке c:\Windows\Media\.
Речь
Speech API умеет также вслух читать текст:
var objVoice = System.CreateObject("SAPI.SpVoice");
objVoice.Speak("Hello, Terrasoft!");
К сожалению, изначально движок Speech API в Windows не умеет работать с кириллицей. Нужно устанавливать дополнительные модули (например, голосовой движок Nicolai.exe) и выбрать его вместо Microsoft Sam в окне "Панель управления" -> "Речь" -> "Выбор голоса".
Зачем?
Описанным возможностям можно придумать различные применения: подавать звуковые сигналы при уведомлениях и напоминаниях, зачитывать вслух имена контактов и симптомы инцидентов и многое другое.
Как вывести звуковое сопровождение для определенного события, например, появление напоминаний?
var FileName ="c:\\file.mp3" function Music(FileName){ var Shell = System.CreateObject("WScript.Shell");
Shell.Run("mplayer2 \/play \/close "+ FileName,0,false); }
Результат: стандартный плеер Windows запускается в фоне и воспроизводит звуковой файл. Закрывается после воспроизведения файла.