Медиа проигрыватель на 1С

09.10.19

Задачи пользователя - Разное

Пример работы с COM-объектом "WMPlayer.OCX"

Скачать файлы

Наименование Файл Версия Размер
WMPlayer (обычное приложение)
.epf 11,20Kb
76
.epf 1.0 11,20Kb 76 Скачать
WMPlayer (управляемое приложение)
.epf 11,23Kb
50
.epf 1.0 11,23Kb 50 Скачать

В публикации представлена обработка, которая демонстрирует работу с COM-объектом "WMPlayer.OCX". встроенным в ОС Windows, и позволяет проигрывать различные медиа-файлы, которые, видимо, поддерживаются Windows Media Player. Обработку тестировал на файлах *.mp3 (в том числе по протоколу http), видео файлы *.mp4 (воспроизводится только звук) и др. медиа-файлы. Обработка будет интересна тем, кто еще не знает, как воспроизвести аудио файл из 1С, и тем, кто хочет узнать, какие еще есть возможности в "WMPlayer.OCX" для работы с аудио файлами. В публикации представлены обработки для обычного и управляемого приложения. Кратко работа с обработкой и ее внешний вид представлены в анимации ниже: 

WMPlayer

Также, кому интересно, код процедуры воспроизведения аудио файла разными способами: 

Процедура ВоспроизвестиЗвуковойФайл(ИмяФайла) Экспорт
	
	Ошибка = Ложь;
	
	Попытка
		COMОбъект = Новый COMОбъект("WMPlayer.OCX");
		COMОбъект.URL = ИмяФайла; 
		COMОбъект.controls.Play();			
	Исключение
		Ошибка = Истина;
	КонецПопытки;
	
	Если Ошибка Тогда
		Попытка
			COMОбъект = Новый COMОбъект("MediaPlayer.MediaPlayer");
			COMОбъект.Open(ИмяФайла);
			COMОбъект.Play();
			Ошибка = Ложь;
		Исключение
			Ошибка = Истина;
		КонецПопытки;	
	КонецЕсли;
	
	Если Ошибка Тогда
		Попытка
			COMОбъект = Новый COMОбъект("WScript.Shell");
			COMОбъект.Run("wmplayer """ + ИмяФайла + """", 0, Ложь);
			Ошибка = Ложь;
		Исключение
			Ошибка = Истина;
		КонецПопытки;	
	КонецЕсли;			
	
КонецПроцедуры

Каждый может добавить и свой способ.

 
 Обновление 2016/04/28
 
 Обновление 2019/09/25

 

WMPlayer.OCX WMPlayer OCX медиа аудио плеер windows media player проигрыватель звук wav mp3 mp4

См. также

Учет домашней квартплаты

Разное Платформа 1С v8.3 Конфигурации 1cv8 Энергетика и ЖКХ Россия Бухгалтерский учет Управленческий учет Абонемент ($m)

Позволяет в одном документе собрать записи по всем коммунальным платежам и показаниям бытовых приборов. Вы не пропустите и не забудете свой коммунальный платеж. Будете точно знать ежемесячную сумму коммуналки по всем объектам собственности. Расширение предназначено для самой популярной конфигурации 1С:Бухгалтерия 8, ред. 3. Объекты расширения не имеют заимствования конфигурации. Его легко встроить в другие типовые конфигурации 1С.

1 стартмани

30.01.2024    470    2    kwn2000    2    

5

Конфигурация "Рюкзачок"

Разное Платформа 1С v8.3 Туризм и путешествия Россия Абонемент ($m)

Составление комплекта вещей в поездку, поход, для работы и т.п. Конфигурация разработана для платформы 1С:Предприятие 8.3 (конкретно учебная версия 8.3.13.1644, потому что более новые утомили меня своими сюрпризами).

1 стартмани

19.01.2024    6118    5    AnatolPopov    31    

36

Конфигурация "Казначей группы (класса/команды/...)"

Разное Взаиморасчеты Платформа 1С v8.3 Общественные и некоммерческие структуры Обучение, бизнес-тренинг, курсы Развлечения, искусство, спорт Домашние учет и финансы Управленческий учет Абонемент ($m)

Нано- (даже не микро- !) конфигурация для тех, кто выступает в роли казначея класса/группы/команды, и в чьи задачи входит сбор денег с участников за участие в каких-то мероприятиях, а потом передача собранных денег организаторам этих мероприятий.

1 стартмани

03.11.2023    669    3    q_i    0    

11

Математический тренажер через телеграмм (feat 1С)

Математика и алгоритмы Разное Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Расширение (+ обработка) представляют собою математический тренажер. Ваш ребенок сможет проверить свои знание на математические вычисление до 100.

2 стартмани

29.09.2023    1890    maksa2005    8    

22

Генератор математических примеров

Математика и алгоритмы Разное Абонемент ($m)

Маленькая программа для генерации примеров. C#

1 стартмани

28.09.2023    1284    1    FIERYLIONS    18    

7

Конструктор: ЧислоПрописью и СтрокаСЧислом

Разное Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Абонемент ($m)

Возможно я просто ленивый, а может потому что понадобилось... в общем сделал конструктор параметров. Может 1С когда-нибудь сделает что-нибудь такое в конфигуратор?

1 стартмани

15.09.2023    3054    11    vandalsvq    8    

48

Viewer 1.0 (библиотека картинок, wingding, webdings, символы по кодам)

Разное Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Иногда нужно посмотреть все картинки из библиотеки картинок или шрифты Webdings/Wingdings, вот собственно эта обработка для этого...

1 стартмани

04.09.2023    765    2    Незнайка    0    

11

Мобильное приложение "Семейное"

Разное Платформа 1С v8.3 Домашние учет и финансы Россия Управленческий учет Абонемент ($m)

Это программа, предназначенная для учета, анализа и управления личными и семейными делами.

1 стартмани

02.07.2023    1066    1    SVGProger    0    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Fox-trot 156 27.04.16 11:04 Сейчас в теме
3. webester 26 28.04.16 11:01 Сейчас в теме
(1)Да? А когда было? Чота не вижу ничего похожего. Один абадона накатал ocx и на этом все.
frkbvfnjh; +1 Ответить
14. Fox-trot 156 29.04.16 21:56 Сейчас в теме
2. frkbvfnjh 785 27.04.16 12:35 Сейчас в теме
Спасибо! Деструктивненькая критика :)
Михаська; +1 Ответить
4. PrinzOfMunchen 83 28.04.16 15:23 Сейчас в теме
(2) зачем для этого нужны внешние компоненты, когда http://v8.1c.ru/o7/201604mobile/index.htm ?
5. frkbvfnjh 785 28.04.16 15:47 Сейчас в теме
(4) PrinzOfMunchen, ну во первых это будет только в далеком будущем и во вторых только для мобильной платформы, бьюсь об заклад, что разработчики никогда не добавят эту возможность для настольной платформы. Вот ссылка на ветку официального форума 1С по этому вопросу: https://partners.v8.1c.ru/forum/message/1476252#m_1476252 Если у Вас нет доступа у форуму, то цитирую:
В связи с Обсуждение 1474666 »» подниму тему о воспроизведении звука Обсуждение 827745 »»

Как-то странно получается, что возможности мобильной платформы в этом направлении опережают возможности обычного приложения (в смысле тонкого клиента). В мобильной платформе уже появляется метод ВоспроизвестиЗвуковоеОповещение(), а когда же тонкий клиент получит такую штатную возможность? Есть это в планах?

Оценить: -1 +1 Ответить
0 Сосна Евгений (1Service, Москва) 12.04.2016 15:36 1476208 Отвечает на
Что вам мешает использовать командную строку? Вызывать тот-же fmpeg и проигрывать необходимый звук хоть на linux, хоть на windows.

Оценить: -1 +1 Ответить
0 Буторин Александр (АйТимПро, Москва) 12.04.2016 16:29 1476245 Отвечает на
1. Командная строка позволит только запустить стороннее приложение наличие которого нужно проверить перед вызовом.

2. Необходимо загрузить звуковой файл который нужно воспроизвести

3. Без шаманства невозможно воспроизвести стандартный звук установленный для оповещения в ОС.

Оценить: -1 +1 Ответить
0 Кузин Александр (Дилакс, Волгоград) 12.04.2016 16:41 1476252 Отвечает на
Оно, в общем-то, понятно, что на компьютере большой простор для костылей.
Про fmpeg я не знал. Для себя написал внешнюю NativeAPI компоненту (туда же добавил и паузу, и ещё каких-то хотелок, пока только под windows).
Показать

По сути это все, что ему ответили, так что ждите маны небесной и дальше, наивные оптимисты. В другой ветке предложили такие же костыли. К сожалению не смог найти повторно ветку в которой разработчики ответили, что данная возможность (воспроизведение звуковых файлов) необходима слишком редко, что бы включать ее в состав платформы. У разработчиков платформы всегда свои взгляды на то, какие должны быть возможности в платформе, а какие никогда не понадобятся разработчикам прикладных решений...
zif74; adhocprog; Synoecium; +3 Ответить
6. Bassgood 1425 29.04.16 00:10 Сейчас в теме
(5) ну а в действительности, что разве разработчики платформы не правы в том, что возможность воспроизведения аудиофайлов в приложениях требуется крайне редко? По мне так это уже какие-то специфические задачи, все таки платформа предназначена для автоматизации учета, а не для реализации различных мультимедийных приложений.
Brawler; PrinzOfMunchen; +2 Ответить
8. webester 26 29.04.16 11:18 Сейчас в теме
(6)(7)Тут как я понял, что вся фишка, в том, что мы получаем кучу контролов типа ползунка воспроизведения, баланса, громкости и скорости. А если надо просто проиграть звук, то можно и так:
ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");
    ScrptCtrl.Language = "VBScript";
    Стр = "function PlaySound()
    |Set oVoice = CreateObject(""SAPI.SpVoice"")
    |set oSpFileStream = CreateObject(""SAPI.SpFileStream"")
    |oSpFileStream.Open ""D:\123.wav""
    |oVoice.SpeakStream oSpFileStream
    |oSpFileStream.Close
    |end function";
    
    ScrptCtrl.AddCode(стр);     
    Код = ScrptCtrl.Run("PlaySound");
Показать
9. webester 26 29.04.16 11:23 Сейчас в теме
(6)
По мне так это уже какие-то специфические задачи, все таки платформа предназначена для автоматизации учета, а не для реализации различных мультимедийных приложений

Пользователь взял беспроводной сканер штрихкодов и пошел делать инвентаризацию. Если в процессе работы попался товар с левым штрихкодом, или попался товар, который не должен лежать на этой полке или еще, что то, система должна оповестить пользователя. А то он приходит через полчаса и ему говорят товар с штрихкодом 12345....02 отсутствует в базе. И как узнать что, он в этот момент держал в руках?
22. dmitryada 24.05.18 16:08 Сейчас в теме
(6) Они во всем правы, но вот ротацию картинок не могут сделать на макетах уже лет 8. :-)
23. frkbvfnjh 785 25.05.18 05:52 Сейчас в теме
(22) Если, вы имеете ввиду поворот картинки, то с определенной версии платформы появился объект "ОбработкаКартинок", который позволяет повернуть картинку на угол кратный 90. К примеру НоваяКартинка = ОбработкаКартинок.Повернуть(Картинка, 180)
7. sikuda 673 29.04.16 10:33 Сейчас в теме
Для меня проблема не в том, что разработчики не предоставили Voice API, а в том что современные Web технологии в 1С появляются с опоздание в несколько лет.

А они уже позволяют сделать и звук и видео.
Эмуляции по подходы по поводу звука: http://infostart.ru/public/248770/
Эмуляции по поводу видео: http://infostart.ru/public/235751/
11. v3rter 29.04.16 15:58 Сейчас в теме
Вот она, "базовая функциональность" - стандартный звук системы, он же "зведочка", он же echo ^G в консоли:

				wshShell=new COMobject("wscript.shell");
				wshShell.run("%comspec% /c echo "+Char(7),0,true);


Неоднократно видел.
adhocprog; +1 Ответить
13. Fox-trot 156 29.04.16 21:53 Сейчас в теме
(11) v3rter, вариант для твоей капилки в стиле нет
	Попытка
		ф = Новый COMОбъект("Net4Com.Audio");
		ф.PlaySystemSound(12);
	Исключение
	КонецПопытки;
adhocprog; +1 Ответить
16. v3rter 30.04.16 12:43 Сейчас в теме
(13) Fox-trot, Спасибо, попробую.
25. frkbvfnjh 785 25.05.18 05:55 Сейчас в теме
(13) Спасибо, тоже попробую
10. frkbvfnjh 785 29.04.16 14:04 Сейчас в теме
Я тоже считаю, что 1С не помешало бы встроить хотя бы базовую функциональность по работе со звуком, вполне достаточно добавить поддержку воспроизведения wav и mp3
adhocprog; +1 Ответить
12. CheBurator 3119 29.04.16 21:01 Сейчас в теме
звуковое оповещение однозначно надо. У меня на WMS разработчики столкнулись с этим - я не спец по восьмерке - подключают какое-то расширение платформы, а в результате подвисает. Попробую подсунуть эту возможность.

На клюшках все звуковое оповещение мгновенно воспроизводилось через формекс, а как переползли на восьмерочную ВМС - звук накрылся... и часто получается что пипл сканирует кучу раз а потом видит что на экране висит вопрос или аларм - а без звука это нифига не отследишь - после каждого пика ТСД не будешь смотреть на экран...

так что надо! однозначно надо!!
15. premierex 204 30.04.16 12:07 Сейчас в теме
(0)? про возможность использования WMPlayer'a, действительно, уже не раз писали на Инфостарте.
Вот, в этой публикации, например : Интересные возможности 1С, которая была опубликована всего-то на один день раньше Вашей. Правда, скудно довольно описаны возможности этого COM объекта, но... есть, как правило документация к COM-объекту, а если нет, то существует инструментарий, позволяющий эту документацию получить. Например, вот этот: HTML Help COM Assistant.
17. apic 13 04.05.16 06:11 Сейчас в теме
А в демонстрации мелодия играет интересная! Нашел таки ее по названию файла, зачетная музЫчка...
dj_serega; +1 Ответить
18. Yashazz 4709 04.05.16 17:28 Сейчас в теме
Таки боян действительно. Автор, а в тонком или веб-клиентах заработает?
19. frkbvfnjh 785 05.05.16 07:32 Сейчас в теме
(18) Yashazz, конкретно эта обработка работает только в обычном приложении. Смысла переписывать под тонкий и веб нет, сам понимаете - боян...
20. TreeDogNight 22 21.05.16 11:35 Сейчас в теме
21. alexandersh 263 16.04.17 22:37 Сейчас в теме
Ну не знаю баян напишу или нет, но на УФ достаточно просто решается полем HTML следующего содержания:
ПолеHTML = "<html>
|<head>
|<meta http-equiv=""X-UA-Compatible"" content=""IE=edge""/>
|</head>
|<body>
|<audio controls>
|<source src=""" + АдресMP3 + """ type=""audio/mpeg"">
|Your browser does not support the audio element.
|</audio>
|</body>
|</html>";

где АдресMP3 - это адрес временного хранилища, куда положили двоичные данные записи
вот вам и бегунок и полоса прокрутки аудио)
Azamatex; +1 Ответить
24. frkbvfnjh 785 25.05.18 05:55 Сейчас в теме
(21) Возьму на заметку, спасибо...
26. nidom 29.08.19 22:32 Сейчас в теме
(21) Этот вариант самый быстрый и удобный для меня...
Но вот заработало только когда в АдресМР3 указал абсолютный путь к файлу mp3, а из хранилища не получилось...
И еще - как бы узнать, что проигрывание файла завершилось? Как к html-полю подключить какое-нибудь событие для этой цели? Требуется проигрывать такой же (или другой) файл через некоторое время после окончания проигрывания.. Подскажете, куда рыть?
27. vika64 75 01.05.20 19:12 Сейчас в теме
Спасибо! пригодилось!
frkbvfnjh; +1 Ответить
28. frkbvfnjh 785 01.05.20 20:29 Сейчас в теме
(27) На здоровье! Приятно такое прочесть.
Оставьте свое сообщение