При помощи ActiveX и Windows Media Player в Terrasoft 3.X можно воспроизводить видеоролики и аудиозаписи.

video
Это может пригодиться для встраивания в конфигурацию видеоинструкций.
Для этого размещаем на форме 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;
}

Больше о работе с плеером написано на странице MSDN.

Нравится

Поделиться

16 комментариев

Ну громкость, пользователи всего мира, привыкли видеть "ползунком" :wink:

Оффтопик к первоапрелю готовим Раздел Торренты, там как раз действия прослушать и посмотреть очень подойдут:)
По теме спасибо

"Шевченко Юрий" написал:Ну громкость, пользователи всего мира, привыкли видеть "ползунком"

Интересный вопрос! Сходу не нашёл, как быстро сделать TrackBar.

"Зверев Александр" написал:Интересный вопрос! Сходу не нашёл, как быстро сделать TrackBar.

Да его и нету... ползунок штатными компонентами проблематично сделать

АктивИкс контрол должен иметь вид с ползунками своих стандартных контролов.
Если я не ошибаюсь, это uiMode.

Возможно, вы используете самый сокращенный вид отображения, а это не удобно.
Пользователю нужно давать все стандартные функции проигрывателя (Full Screen, громкости, яркости, и другие настройки) тогда ваша идея будет очень даже ничего! :)

"Шевченко Юрий" написал:АктивИкс контрол должен иметь вид с ползунками своих стандартных контролов.
Если я не ошибаюсь, это uiMode.

В комментариях в коде написано же.

О! Это тру. Нужно читать код :)

А если еще запись с веб-камеры в интерфейсе сделать то можем добавить видеонапоминания, заходишь в систему и просматриваешь :smile:

Для веб-камер тоже есть подходящие ActiveX, надо будет с ними поэкспериментировать.

Но напоминаниями самому себе, ещё и видео, лучше не увлекаться.

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

Какими кнопками не получается? Встроенными в проигрыватель или созданными в Terrasoft?

У меня 2 вопроса:
1. Можно ли воспроизводить встроенными кнопками?
2. Как убрать встроенные кнопки? Сейчас проигрыватель отображается, как у меня нас скриншоте.

"Гусева Анастасия Александровна" написал:

У меня 2 вопроса:

1. Можно ли воспроизводить встроенными кнопками?


А что сейчас происходит при их нажатии? Ничего?


2. Как убрать встроенные кнопки? Сейчас проигрыватель отображается, как у меня нас скриншоте.


axcWmp.ActiveXObject.uiMode = "none"; не помогло?

1. Ничего не происходит, ведь туда надо передавать файл для воспроизведения, а вот как это сделать?

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

У меня файл передаётся при нажатии Open, см. первую функцию в примере. То же можно сделать и на OnPrepare окна: передать файл и скрыть кнопки.

Показать все комментарии

Звуки

В Terrasoft можно проигрывать wav-файлы и без запуска отдельной программы-плеера. Для этого испольуем Microsoft Speech API:

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 в окне "Панель управления" -> "Речь" -> "Выбор голоса".

Зачем?

Описанным возможностям можно придумать различные применения: подавать звуковые сигналы при уведомлениях и напоминаниях, зачитывать вслух имена контактов и симптомы инцидентов и многое другое.

Нравится

Поделиться

0 комментариев
Показать все комментарии
Публикация

В продолжение темы http://www.community.terrasoft.ua/blogs/2131

Как вывести звуковое сопровождение для определенного события, например, появление напоминаний?

var FileName = "c:\\file.mp3"
function Music(FileName) {
     var Shell = System.CreateObject("WScript.Shell");
     Shell.Run("mplayer2 \/play \/close " + FileName, 0, false);
}

Результат: стандартный плеер Windows запускается в фоне и воспроизводит звуковой файл. Закрывается после воспроизведения файла.

Нравится

Поделиться

2 комментария

Для WAV-файлов есть способ без запуска плеера.

Саша, это потрясающе! :)

Показать все комментарии