MediaPlayer - Can 'MediaElement' будет улучшен для поддержки большего количества медиаформатов и кодировок?
Поддержка кодеков.
Всем привет.
Я создаю медиа-плеер в С# и WPF. Все примеры, которые я нахожу, более или менее говорят одно и то же, "поместите" mediaElement "и основные кнопки проигрывателя, и там вы идете!"
Я думал, что mediaElement - это, по сути, медиаплеер Windows, но я уже встречал случаи, когда видео воспроизводилось, но показываю черный экран, в то время как звуковая дорожка играет нормально, а другие, где очистка на временной шкале занимает много времени. Также я заметил, что когда я загружаю видео в этот тип проигрывателя, кодеки K-lite, похоже, не загружаются в нижней правой части панели задач Windows, как это обычно бывает, когда я использую проигрыватель VLC или Media Player Classic, например.
Я уже нашел еще одну тему, которая гласит: "MediaElement - это элемент управления, который способен воспроизводить только некоторые типы файлов. Он основан на медиа-проигрывателе окон, но только на его основных кодах. Его в основном голый медиаплеер"
У меня возникают проблемы с воспроизведением видео с ограниченной поддержкой кодека? Достаточно ли того, что у меня установлены кодеки K-lite или есть что-то еще, что мне не хватает?
Наконец, в случае, если это так же хорошо, как mediaElement, какие существуют альтернативы? Я видел, как люди открывали VLC через своих игроков, но я хотел бы знать, какие другие альтернативы доступны, прежде чем я погрузился в это. Я видел, что Microsoft теперь имеет " Player Framework ", доступную для Windows 8, например, но это только для Windows 8?
Спасибо всем заранее!
Хорошо, поэтому я рад объявить, что я ошибался в нескольких наблюдениях и что есть решение улучшить поддержку популярных медиаформатов, таких как mp4, в Windows Media Player и, следовательно, в медиаменте!
Поэтому я был неправ, чтобы сказать, что элемент мультимедиа - это не Windows Media Player, а скорее "медиаплеер с голыми костями". Это действительно медиаплеер Windows, и ему просто нужен правильный набор кодеков, чтобы иметь возможность проигрывать больше форматов.
У меня уже установлены кодеки K Lite, и я добавил этот набор кодеков http://www.majorgeeks.com/files/details/media_player_codec_pack.html, и теперь мой медиаплеер Windows больше не отстает при воспроизведении файлов mp4. Просто следуйте указаниям установщика и перезагрузите компьютер ПЕРЕД началом процесса установки. Также... он пытается обмануть вас диалоги для установки вторичного программного обеспечения, так что ОЗНАЧАЙТЕ!
После установки просто не забудьте экспериментировать с параметром "предпочтительного ускорения" в настройках видео приложения, чтобы узнать, что будет лучше в соответствии с вашим оборудованием. Я установил его - CUVID.
Я также установил этот набор кодеков для поддержки avi-формата http://www.free-codecs.com/Combined_Community_Codec_Pack_download.htm
Надеюсь это поможет :)
MediaElement поддерживает только ограниченный набор параметров ввода, как описано здесь: Какие форматы поддерживает MediaElement?
В настоящее время Framework Player поддерживает:
Приложение Windows Phone 8.1 (приложение для Windows Phone Store) для приложений Xaml/С#/VB.NET
Windows Phone 8.1 (приложение для Windows Phone Store) для JavaScript/HTML-приложений
Поддержка Windows Phone 8 и 8.1 (Silverlight)
Поддержка Windows Phone 7.5
Windows 8.0 (версии Xaml и HTML)
Поддержка Windows 8.1 для приложений Xaml и HTML
Универсальная поддержка приложений для приложений Xaml и HTML
Источник: https://playerframework.codeplex.com/wikipage?title=Version%202%20changes
Работая с нечестивым беспорядком в разных проигрывателях/рекордерах/стримерах/медиа-вещах, я считаю, что ваш лучший выбор для поддержки универсального воспроизведения - это MPlayer или VLC. Оболочки WPF существуют для обоих
Я могу поручиться за Vlc.DotNet(https://github.com/ZeBobo5/Vlc.DotNet) в качестве опции медиаплеера для WPF/WinForms. Это немного убогая, преодолевая кривую обучения, но стоит для действительно огромного множества вариантов. Есть очень мало задач мультимедиа, которые вы не можете с этим справиться так или иначе.
Для MPlayer есть полдюжины полуполных оберток. Если ваша функциональность работает только до воспроизведения (без записи/потоковой передачи/и т.д.), То что-то вроде MPlayerControl может соответствовать счету: https://github.com/majorsilence/MPlayerControl.