Имя: Пароль:
1C
1С v8
Windows Media Player в 1С - как получить текущую позицию воспроизведения?
0 Сниф
 
15.11.13
11:00
Что хочу сделать: запустив видео в 1С (обычное приложение) иметь возможность получить текущую позицию воспроизведения, сохранить ее в справочнике и выполнить обратную операцию - открыть видео на сохраненной позиции. Накопилось много обучающих курсов и хочется систематизировать информацию, храня закладки в 1С.

Что делаю: вставил на форму ActiveX Windows Media Player. Но в свойствах не вижу ничего похожего на CurrentTime или CurrentPosition.

Можно ли и как получить/установить текущую позицию для WMP ActiveX? Если нельзя, то какой другой ActiveX подходит для этой цели?
1 qeos
 
15.11.13
11:01
2 Wobland
 
15.11.13
11:05
Position    'real'    get/set    Playback position within current MRL, scaled from 0.0 to 1.0. Live feed returns 0.0

©https://wiki.videolan.org/ActiveX
3 sikuda
 
15.11.13
11:11
<OBJECT id="Player" height="400" width="400" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"
                 >
                <PARAM NAME="URL" VALUE="<%= GetFileName()%>">
                <PARAM NAME="rate" VALUE="1">
                <PARAM NAME="balance" VALUE="0">
                <PARAM NAME="currentPosition" VALUE="0">
                <PARAM NAME="defaultFrame" VALUE="">
                <PARAM NAME="playCount" VALUE="1">
                <PARAM NAME="autoStart" VALUE="0">
                <PARAM NAME="currentMarker" VALUE="0">
                <PARAM NAME="invokeURLs" VALUE="-1">
                <PARAM NAME="baseURL" VALUE="">
                <PARAM NAME="volume" VALUE="50">
                <PARAM NAME="mute" VALUE="0">
                <PARAM NAME="uiMode" VALUE="full">
                <PARAM NAME="stretchToFit" VALUE="-1">
                <PARAM NAME="windowlessVideo" VALUE="-1">
                <PARAM NAME="enabled" VALUE="-1">
                <PARAM NAME="enableContextMenu" VALUE="-1">
                <PARAM NAME="fullScreen" VALUE="0">
                <PARAM NAME="SAMIStyle" VALUE="">
                <PARAM NAME="SAMILang" VALUE="">
                <PARAM NAME="SAMIFilename" VALUE="">
                <PARAM NAME="captioningID" VALUE="">
                <PARAM NAME="enableErrorDialogs" VALUE="0">
                <PARAM NAME="_cx" VALUE="10583">
                <PARAM NAME="_cy" VALUE="10583">
            </OBJECT>

Можно не ограничивать себя толстым клиентом http://infostart.ru/public/235751/
4 sikuda
 
15.11.13
11:16
Можно не ограничивать себя толстым клиентом, но в 8.4 может и не будет работать http://infostart.ru/public/235751/
5 Сниф
 
15.11.13
11:17
Всем спасибо, разобрался.
Для идущих во след: искомое свойство player.controls.currentPosition
6 Wobland
 
15.11.13
11:20
>Но в свойствах не вижу ничего похожего на CurrentTime или CurrentPosition
а я тебе поверил.. ;)
7 Сниф
 
15.11.13
11:25
(6) проблема была в том, что я искал атрибут у объекта WMP, а оказывается он "закопан" глубже - в коллекции "controls" :)
8 sikuda
 
15.11.13
12:58
(7) Мне кажется через HTML поле проще...
Но я так понял в Winodоws 7 доступен как WMP 9 так и WMP 6.4 для совместимости со старыми версиями.
9 Сниф
 
15.11.13
13:06
(8) а я через HTML поле :)

код из примера:
ЭлементВК = Элементы.Видео.Документ.getElementById("WMP");
WMP = ЭлементВК.contentDocument;

и уже дальше сами:

ТекущаяПозиция = WMP.controls.currentPosition;
WMP.controls.currentPosition = ТекущаяПозиция + 5*60;//прыгнуть вперед на 5 минут
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший