ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Загрузка mp4 из ресурсов (https://forum.antichat.xyz/showthread.php?t=780928)

Maksim 21.06.2021 09:49

Интересует как можно сделать реализацию в C# проигрывания mp4 видео через Nuget либу WMPLib с Windows Form без сохранения на диск?

Есть какой то вариант без BoxedApp и других VM проигрывания на Windows Form?

Может есть какой то вариант загрузить в память и проиграть из неё, а после закрытия приложения выгрузить?

П.С: да есть wpf где проигрывание из ресурсов напрямую, но лучше на windows form.

default_npc 21.06.2021 10:05

Цитата:

Сообщение от Maksim

Может есть какой то вариант загрузить в память и проиграть из неё, а после закрытия приложения выгрузить?

я конечно может не понял конечную цель, из поста не совсем понятно что ты делаешь, но если тебе надо просто видео проиграть, то почему бы не встроить его с ютуб? формы это умеют

Maksim 21.06.2021 10:08

Цитата:

Сообщение от default_npc

я конечно может не понял конечную цель, из поста не совсем понятно что ты делаешь, но если тебе надо просто видео проиграть, то почему бы не встроить его с ютуб? формы это умеют

Не хотелось бы использовать внешние проигрыватели.

Цель на заднем фоне Windows Form проигрывать видео с логотипом используя WMPLib из Nuget.

Если сохранить на диск из ресурсов все работает, но файл только мешает.

Можно конечно сохранять его в temp папку, но хотелось бы из памяти напрямую прочитать.

Просто искал все возможные варианты, но нет толком информации по этому вопросу.

default_npc 21.06.2021 10:35

Цитата:

Сообщение от Maksim

Просто искал все возможные варианты, но нет толком информации по этому вопросу.

создай на цуберфоруме подобный тред

наш форум конечно вне конкуренции, но там обитает большая куча бородатых программистов и девелоперов, вероятность получить ответ на верно заданный вопрос - 95%

kick 21.06.2021 19:30

Цитата:

Сообщение от Maksim

Интересует как можно сделать реализацию в C# проигрывания mp4 видео через Nuget либу WMPLib с Windows Form без сохранения на диск?

How to: Embed Windows Media Player on a Form

docs.microsoft.com


WinForms уже давно объявлены легаси и устарели. WPF на самом деле простой, стоит только перешагнуть через понимание MVVM и окажется, что даже проще разрабатывать, чем на винформах, к тому же есть Avalonia.

Да и вообще уже развивается WinUI 3, которая всё унифицируется и дальше. Немного инфографики по этому поводу, к тому же WPF так же уже устарел как и UWP, хотя WPF самый популярный, поэтому просто берём avalonia.

Хотя они объявлены и легаси но оптимизацию свою они получили What's new in Windows Forms runtime in .NET 5.0.

Но зачем на устаревшем делать?

Maksim 21.06.2021 19:34

Цитата:

Сообщение от kick

How to: Embed Windows Media Player on a Form

docs.microsoft.com


WinForms уже давно объявлены легаси и устарели. WPF на самом деле простой, стоит только перешагнуть через понимание MVVM и окажется, что даже проще разрабатывать, чем на винформах, к тому же есть Avalonia.
Да и вообще уже развивается WinUI 3, которая всё унифицируется и дальше. Немного инфографики по этому поводу, к тому же WPF так же уже устарел как и UWP, хотя WPF самый популярный, поэтому просто берём avalonia.

Хотя они объявлены и легаси но оптимизацию свою они получили What's new in Windows Forms runtime in .NET 5.0.
Но зачем на устаревшем делать?

Есть свои причины делать не на wpf, потому что приложение на net framework 2.0

Просто у большинства из коробки уже стоит net framework 2.0, выше возможно не у всех установлено.

Как будет времени больше, сделаю на С++ с GDI, но пока что C#.

kick 21.06.2021 19:56

Цитата:

Сообщение от Maksim

Есть свои причины делать не на wpf, потому что приложение на net framework 2.0

Не вижу причин морально устаревшее. А делать на 2.0 это значит поддерживать хрюшу, но нет 3 спокойно поддерживает как и соответственно WPF.

Цитата:

Сообщение от Maksim

Просто у большинства из коробки уже стоит net framework 2.0, выше возможно не у всех установлено.

Ну давайте тогда писать под Win98? Не ну а что у многих он стоит ещё. Не вижу проблем сделать информацию и перекидывание в случае чего на сайт майков и выкачать оттуда.

Цитата:

Сообщение от Maksim

Как будет времени больше, сделаю на С++ с GDI, но пока что C#.

Какая разница? И если так то может сразу на фортране он то точно у всех будет? А может сразу на ассемблере? Вот тут то 100% не прогадать. И чем это будет отличаться от шарпового приложения? Тогда уж с QT делать.

Maksim 21.06.2021 19:58

Цитата:

Сообщение от kick

Не вижу причин морально устаревшее. А делать на 2.0 это значит поддерживать хрюшу, но нет 3 спокойно поддерживает как и соответственно WPF.

Ну давайте тогда писать под Win98? Не ну а что у многих он стоит ещё. Не вижу проблем сделать информацию и перекидывание в случае чего на сайт майков и выкачать оттуда.

Какая разница? И если так то может сразу на фортране он то точно у всех будет? А может сразу на ассемблере? Вот тут то 100% не прогадать. И чем это будет отличаться от шарпового приложения? Тогда уж с QT делать.

Каждый делает на чем хочет, главное чтобы функцию свою выполнял апдейтер / лаунчер.

Можно хоть на golang сделать при желании, но главная проблема сделать проигрывание из памяти mp4 без сохранения на диск из ресурсов.

òbiòbi верифицированный пользователь. 21.06.2021 21:39

@Maksim, а такой вот вариант?)

создаем на сайте файл video.html

HTML:


Код:


video {
                width: 100%;
                height: auto;
            }

Your browser doesn't support HTML5 video tag.
            Если видео не поддерживается, наверно сможем показать тут картинку)

при загрузки формы (webBrowser1 экземпляр System.Windows.Forms.WebBrowser)

C#:


Код:

void
MainFormLoad
(
object
sender
,
EventArgs
e
)
{
webBrowser1
.
Url
=
new
Uri
(
"https://domain.ru/video.html"
)
;
}

С# 3.0

.NET Framework 2.0

результат

Maksim 21.06.2021 21:43

Вариант с браузером хороший, но буду искать решение чтобы и на windows form можно было проиграть видео из ресурсов без сохранения на диск.

В крайнем случае если не найду решение, сделаю пусть уже на диск сохраняет в temp папку и удаляет при закрытии лаунчера.

В будущем сделаю уже не на C#.


Время: 22:00