Медиа проигрыватель на 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С без внешних компонент.

1 стартмани

17.04.2024    351    1    Irwin    2    

8

Разложим фото по полочкам

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

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

1 стартмани

21.03.2024    402    1    vikhrov53    0    

3

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

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

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

1 стартмани

30.01.2024    517    2    kwn2000    2    

5

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

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

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

1 стартмани

19.01.2024    6211    5    AnatolPopov    31    

36

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

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

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

1 стартмани

03.11.2023    703    3    q_i    0    

11

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

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

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

2 стартмани

29.09.2023    1943    maksa2005    8    

22

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

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

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

1 стартмани

28.09.2023    1349    1    FIERYLIONS    18    

7

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

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

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

1 стартмани

15.09.2023    3132    12    vandalsvq    8    

48
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Fox-trot 157 27.04.16 11:04 Сейчас в теме
3. webester 26 28.04.16 11:01 Сейчас в теме
(1)Да? А когда было? Чота не вижу ничего похожего. Один абадона накатал ocx и на этом все.
frkbvfnjh; +1
14. Fox-trot 157 29.04.16 21:56 Сейчас в теме
2. frkbvfnjh 787 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 787 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 1428 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 787 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 157 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 787 25.05.18 05:55 Сейчас в теме
(13) Спасибо, тоже попробую
+
10. frkbvfnjh 787 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 4722 04.05.16 17:28 Сейчас в теме
Таки боян действительно. Автор, а в тонком или веб-клиентах заработает?
+
19. frkbvfnjh 787 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 787 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 787 01.05.20 20:29 Сейчас в теме
(27) На здоровье! Приятно такое прочесть.
+
Оставьте свое сообщение