|
Помогите прикрутить Wndows Media к 1С | ☑ | ||
---|---|---|---|---|
0
_stay true_
02.08.16
✎
09:15
|
Здравствуйте. В "Документообороте" Корп хотим реализовать возможность прослушивания звуковых файлов с помощью Windows Media Player(у нас телефонные разговоры записываются и хранятся в отдельном томе для файлов, к которому есть доступ из 1С. Вот теперь назрел вопрос, как было бы здорово реализовать прослушивание файлов прямо из программы без всяких закачек и прочего.
Сделал отдельную форму, на неё добавил реквизит "ВМП" с типом "Строка", связал с реквизитом формы, указав вид "Поле HTML-документа. В процедуре "ПриСозданииНаСервере" открываемой формы указал следующий код: &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ХЗ = Новый ХранилищеЗначения(Параметры.ПутьКФайлу); НС = ПолучитьНавигационнуюСсылку(ХЗ); ВМП = "<HTML><OBJECT id=WMP classid=CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6 width=""100%"" height=""100%""><PARAM NAME=""URL"" VALUE=""""><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=""-1""><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=""0""><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=""24262""><PARAM NAME=""_cy"" VALUE=""15319""></OBJECT></HTML>"; КонецПроцедуры протестил - проигрыватель отображается на форме. Порылся в сети, нашёл инфу, как туда файл подсунуть: &НаКлиенте Процедура Воспроизвести(Команда) ЭлементВК = Элементы.ВМП.Документ.getElementById("WMP"); // Тут ищем элемент Если ЭлементВК = Неопределено Тогда Сообщить("Не найден объект компоненты!"); // Здесь понятно Возврат; КонецЕсли; Элементы.ВМП.ТолькоПросмотр = Ложь; // Тут тоже понятно WMP = ЭлементВК.contentDocument; // Тут получаем контент компоненты Режим = РежимДиалогаВыбораФайла.Открытие; ДиалогВыбораФайла = Новый ДиалогВыбораФайла(Режим); // Создаем диалог выбора файла ДиалогВыбораФайла.Фильтр = "Все файлы (все)|*.*"; // Здесь понятно ДиалогВыбораФайла.Заголовок = "Выберите медиафайл"; // Здесь понятно Если ДиалогВыбораФайла.Выбрать() Тогда ПутьКМедиаФайлу = ДиалогВыбораФайла.ПолноеИмяФайла; // В зависимости от варианта объекта запись полного пути к файлу // производится либо в свойство FileName, либо в свойство URL. Попытка WMP.Filename = ПутьКМедиаФайлу; Исключение WMP.URL = ПутьКМедиаФайлу; КонецПопытки; КонецЕсли; КонецПроцедуры Отрабатывает, ошибки не выдает, записывает в WMP.URL полный путь к файлу. И всё. Ничего далее не происходит. Кто сталкивался с подобным - поделитесь мудростью:) |
|||
1
Lexey_
02.08.16
✎
09:20
|
(0) Play нажимал?
|
|||
2
_stay true_
02.08.16
✎
09:22
|
(1) Да. Ничего не происходит.
|
|||
3
_stay true_
02.08.16
✎
09:31
|
Пробежался ещё раз отладчиком по коду - в URL ничего не записывает, хотя ошибка не вылетает. как была пустая строка, так и остается, хотя ошибок не возникает.
И ещё, пардоньте: только что обнаружил передавленный шнур на наушниках, сбегаю, заменю :) |
|||
4
Lexey_
02.08.16
✎
09:37
|
(3) а вообще:
WMP = Элементы.ВМП.Документ.getElementById("WMP"); WMP.URL = ПутьКМедиаФайлу; |
|||
5
ИС-2
naïve
02.08.16
✎
09:40
|
в обычных формах достаточно запустить открытие приложения методом запуститьприложение и он запустит сам нужно приложение.
|
|||
6
_stay true_
02.08.16
✎
09:45
|
(5) Это, увы, управляемые((( Тут с ActiveX приходится неслабо так помучиться.
|
|||
7
_stay true_
02.08.16
✎
09:50
|
WMP.PlayState = 9;
WMP.playerApplication ругается "Произошла исключительная ситуация (0xc00d0fd3)", видимо, на отсутствие динамиков((( А админ наушники тащить не торопится((( |
|||
8
Lexey_
02.08.16
✎
09:54
|
(7) пробовал (4)?
|
|||
9
_stay true_
02.08.16
✎
10:22
|
(8) Админ "уши" притараканил. Заработало) Даже в веб-клиенте под IE)))
|
|||
10
Nuobu
02.08.16
✎
10:24
|
(9) Представляю следующую тему: 1С не включается, что делать? Подключи гарнитуру. - Вау, спасибо, сам не додумался.
|
|||
11
_stay true_
02.08.16
✎
11:28
|
Ещё один Вопрос: решил поиграться дальше, прикрутить виндовую смотрелку картинок и пдф по аналогии. с PDF получилось, а вот с картинками беда. Видимо, неверно указал CLASSID смотрелки. Вот код:
&НаСервере ПриСозданииНаСервере: Фото = "<HTML><OBJECT id=ImgLook classid=CLSID:D3E34B21-9D75-101A-8C3D-00AA001A1652 width=""100%"" height=""100%"">"; &НаКлиенте ОткрытьКартинку(команда) ЭлементВК = Элементы.Картинка.Документ.getElementById("ImgLook"); ЭлементВК.ContentDocument Src = ПутьКФайлуНаСервере; |
|||
12
_stay true_
02.08.16
✎
11:30
|
ЭлементВК.Src = ПутьКФайлуНаСервере;
Вот для PDF, где всё работает: ПДФ = "<HTML><OBJECT id=PDFReader classid=CLSID:CA8A9780-280D-11CF-A24D-444553540000 width=""100%"" height=""100%"">"; ЭлементВК = Элементы.ПДФ.Документ.getElementById("PDFReader"); ЭлементВК.Src = ПутьКФайлуНаСервере; |
|||
13
_stay true_
02.08.16
✎
12:52
|
Апаю тему.))) Так и не могу разобраться с картинками. Если кто сталкивался - прошу помощи
|
|||
14
Garykom
гуру
02.08.16
✎
13:00
|
Это http://catalog.mista.ru/public/125913/ не пойдет?
|
|||
15
_stay true_
02.08.16
✎
13:50
|
(14) thx, bro! На досуге поковыряюсь!
А пока уже успел навелосипедить: Попытка Фото = "<HTML><BODY><img src=""file:\\"+ПутьКФайлуНаСервере+"""width=""100%""</img></BODY></HTML>"; Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Не то, что я хотел, но юзеры довольны, и пофигу)) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |