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

09.10.19

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
WMPlayer (обычное приложение)
.epf 11,20Kb
77
77
1 SM
Скачать Купить за 1 850 руб.
WMPlayer (управляемое приложение)
.epf 11,23Kb
51
51
1 SM
Скачать Купить за 1 850 руб.

В публикации представлена обработка, которая демонстрирует работу с 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С без внешних компонент.

1 стартмани

17.04.2024    925    1    Irwin    2    

12

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

В публикации представлена простая внешняя обработка, позволяющая перенести файлы с фото в нужные папки.

1 стартмани

21.03.2024    553    1    vikhrov53    0    

3

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

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

1 стартмани

30.01.2024    673    2    kwn2000    2    

6

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

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

1 стартмани

19.01.2024    6512    5    AnatolPopov    31    

37

Linux Разное Программист Пользователь Платформа 1С v8.3 Абонемент ($m)

Пример обработки для определения длительности аудиофайла в среде Linux.

1 стартмани

12.01.2024    537    0    ErAK    3    

3

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

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

1 стартмани

03.11.2023    840    3    q_i    1    

12

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

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

2 стартмани

29.09.2023    2256    maksa2005    8    

24

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

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

1 стартмани

28.09.2023    1555    1    FIERYLIONS    18    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Fox-trot 161 27.04.16 11:04 Сейчас в теме
3. webester 26 28.04.16 11:01 Сейчас в теме
(1)Да? А когда было? Чота не вижу ничего похожего. Один абадона накатал ocx и на этом все.
frkbvfnjh; +1 Ответить
14. Fox-trot 161 29.04.16 21:56 Сейчас в теме
2. frkbvfnjh 800 27.04.16 12:35 Сейчас в теме
Спасибо! Деструктивненькая критика :)
Михаська; +1 Ответить
4. PrinzOfMunchen 84 28.04.16 15:23 Сейчас в теме
(2) зачем для этого нужны внешние компоненты, когда http://v8.1c.ru/o7/201604mobile/index.htm ?
5. frkbvfnjh 800 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 1437 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 800 25.05.18 05:52 Сейчас в теме
(22) Если, вы имеете ввиду поворот картинки, то с определенной версии платформы появился объект "ОбработкаКартинок", который позволяет повернуть картинку на угол кратный 90. К примеру НоваяКартинка = ОбработкаКартинок.Повернуть(Картинка, 180)
7. sikuda 676 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 161 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 800 25.05.18 05:55 Сейчас в теме
(13) Спасибо, тоже попробую
10. frkbvfnjh 800 29.04.16 14:04 Сейчас в теме
Я тоже считаю, что 1С не помешало бы встроить хотя бы базовую функциональность по работе со звуком, вполне достаточно добавить поддержку воспроизведения wav и mp3
adhocprog; +1 Ответить
12. CheBurator 3126 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 4762 04.05.16 17:28 Сейчас в теме
Таки боян действительно. Автор, а в тонком или веб-клиентах заработает?
19. frkbvfnjh 800 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; +2 Ответить
24. frkbvfnjh 800 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 800 01.05.20 20:29 Сейчас в теме
(27) На здоровье! Приятно такое прочесть.
Оставьте свое сообщение