Posted on 5. February 2023

Відтворення аудіо та відео в додатках .NET MAUI за допомогою нового MediaElement

Відтворення аудіо та відео в додатках .NET MAUI за допомогою нового MediaElement

 

Вийшов один з найбільш очікуваних елементів управління для .NET MAUI - MediaElement. За допомогою MediaElement ви можете легко відтворювати аудіо та відео з вашого додатку .NET MAUI. В цій статті ви дізнаєтеся все, що вам потрібно знати про цю першу версію і про плани на майбутнє! Media Element є частиною .NET MAUI Community Toolkit, бібліотеки, створеної спільнотою, яка підтримується чудовими розробниками з усього світу, як з боку спільноти, так і з боку корпорації Майкрософт.

 

Що таке MediaElement?

З MediaElement ви отримуєте потужний елемент керування, який дозволяє відтворювати мультимедійні дані у вашому додатку .NET MAUI.


Можливо, ви вже знайомі з MediaElement з інструментарію спільноти Xamarin, куди його додали завдяки чудовій роботі учасника спільноти Пітера Фута. Хоча та версія була вже досить непоганою, вона також мала місце для вдосконалення, особливо на Android.


Саме тому, при перенесенні MediaElement на .NET MAUI, ми перебудували все з нуля. Таким чином, ми змогли зберегти всі ті частини, які вже є хорошими, і в той же час покращити ті речі, які потребують доопрацювання.

 

Під капотом

Для Android ми вирішили використовувати ExoPlayer як аналог платформи, замінивши Android MediaPlayer, який ми використовували для Xamarin. Таким чином, ми автоматично отримуємо багато додаткових функцій, які доступні нам з коробки, наприклад, відтворення HTTP-відео в прямому ефірі (HLS), чудові елементи керування транспортуванням платформи та багато іншого.


На iOS та macOS ми використовуємо платформу AVPlayer, як і для MediaElement в Xamarin. Також без змін залишився Tizen-плеєр, який використовує Tizen.Multimedia.Player.


Тепер, коли .NET MAUI будується на основі WinUI, а не UWP, ми використовуємо новий елемент MediaPlayerElement WinUI. Хоча цей елемент керування також є дуже молодим для WinUI, він вже є дуже повним і виглядає багатообіцяючим.

Підтримка різних медіаформатів відрізняється на різних платформах (і, можливо, залежно від того, які кодеки ви встановили), але, використовуючи нативні медіаплеєри платформи, для кожної операційної системи ми використовуємо всю потужність і пов'язану з цим оптимізовану продуктивність.

 

Початок роботи

Почати роботу з MediaElement дуже просто. По-перше, вам потрібно встановити пакет CommunityToolkit.Maui.MediaElement NuGet. Це окремий пакунок від основного пакунка Community Toolkit.


Після завершення встановлення перейдіть до вашого MauiProgram.cs і додайте наступний рядок ініціалізації до MauiAppBuilder:


public static MauiApp CreateMauiApp()

{

    var builder = MauiApp.CreateBuilder();

    builder

        .UseMauiApp<App>()

        // Initialize the .NET MAUI Community Toolkit MediaElement by adding the below line of code

        .UseMauiCommunityToolkitMediaElement()

        // After initializing the .NET MAUI Community Toolkit, optionally add additional fonts, and other things

        .ConfigureFonts(fonts =>

        {

            fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");

            fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");

        });


    // Continue initializing your .NET MAUI App here


    return builder.Build();

 

}


Тепер ви готові почати використовувати MediaElement у своєму додатку! Простий приклад у XAML можна знайти нижче.

 

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"

             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

             xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"

             x:Class="MediaElementDemos.GettingStarted"

             Title="MediaElement Getting Started">


    <toolkit:MediaElement x:Name="mediaElement"

                      ShouldAutoPlay="True"

                      ShouldShowPlaybackControls="True"

                      Source="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"

                      HeightRequest="300"

                      WidthRequest="400"

                      ... />

</ContentPage>

 

Це додасть елемент управління MediaElement на сторінку, яка почне автоматично відтворюватися при завантаженні відео, результат запуску на iOS і Windows можна побачити нижче.



У цій статті автор не вдається в подробиці про багаті функції, які вже є в цій першій версії, але важливо зазначити одну річ. Ви, як розробник, несете відповідальність за використання ресурсів MediaElement. Наприклад, додаток може відтворювати відео в режимі "картинка в картинці" або відтворювати аудіо у фоновому режимі, і в цих сценаріях неможливо автоматично визначити, коли потрібно очистити ресурси MediaElement.

Для цього потрібен лише один рядок коду. У фрагменті коду нижче ви можете побачити, як звільняються ресурси, коли користувач переходить зі сторінки ContentPage, на якій відображається елемент управління MediaElement.


public partial class FreeResourcesPage : ContentPage

{

    void ContentPage_Unloaded(object? sender, EventArgs e)

    {

        // Stop and cleanup MediaElement when we navigate away

        mediaElement.Handler?.DisconnectHandler();

    }


}

 

Щоб дізнатися більше про всі поточні функції MediaElement, відвідайте сторінку документації.

 

Source




Posted on 15. November 2011

Windows Phone 7.5 MiniCamp

WP7MiniCamp

Компания Microsoft Ukraine продолжает нас радовать мероприятиями посвященными платформе Windows Phone 7. На очередном мероприятии, которое пройдет 24 ноября в офисе компании, речь пойдет о новых возможностях платформы Windows Phone Mango. Расписание мероприятия:

09:00–09:30 Регистрация

09:30–10:30 Создание приложений для Windows Phone 7.5, средства разработки.

Андрей Терехов, директор департамента стратегических технологий, Майкрософт Украина

10:30–11:30 Многозадачность в Windows Phone 7.5,

Сергей Лутай, Digital Cloud Technologies, Silverlight MVP, MCT, MCPD

11:30–12:00 Кофе, перерыв

12:00–13:00 Live Tiles и Push Notification
Александр Краковецкий, разработчик программного обеспечения MVP/ RD,
автор
wp7rocks.com

13:00–14:00 Разработка игр под Windows Phone 7.5.

Сергей Лутай, Digital Cloud Technologies, Silverlight MVP, MCT, MCPD

14:00–14:30 Обед

14:30–15:00 METRO. Дизайн под Windows Phone.

Никита Лукьянец, UX-евангелист, Майкрософт Украина

15:00–16:00 Интеграция с поиском, контактами, Picture Hub и др.

Сергей Байдачный, специалист по разработке программного обеспечения, Майкрософт Украина

Зарегистрироваться на мероприятие можно на официальной странице



Posted on 14. July 2010

Windows Phone 7 и сервисы

В блоге Windows Phone опубликовали новость о том что Windows Phone 7 платформа выйдет в сопровождении с веб сайтом, который будет содержать онлайн бэкап ваших фотографий с устройства, Windows Live Calendar, OneNote файлы и другую информацию. Этот бесплатный сервис будет хостится с помощью SkyDrive, который предоставляет 25 Гб онлайн хранилища. Кроме этого сервис будет включать возможность “Найди мой телефон”, котороая позволит владельцам телефона отслеживать его активность и многое другое. Все  возможности сервиса будут доступны с любого компьютера.

И все эти вкусности будут доступны бесплатно.

Кроме этого есть еще ряд нововведений. Сервис Push Notifications(позволяет отсылать уведомления на устройства пользователей) будет поддерживать сообщения в реальном режиме времени. Тем самым пользователь сможет получить последнюю информацию. Во время выпуска платформа будет поддерживать 5-ть языков: английский, французкий, итальянский, германский и испанский. Windows Phone Market Place будет доступен для 17-ти стран: Австралия, Австрия, Бельгия, Канада, Франция, Германия, Гонконг, Индия, Ирландия, Италия, Мексика, Новая Зеландия, Сингапур, Испания, Швейцария, Великобритания и США.



Posted on 6. July 2010

Silverlight for Symbian Release

Сегодня Microsoft выпустила сразу несколько раcширений для мобильных устройств Nokia N60, Nokia 5800 XPressMusic и Nokia N97. Эти расширения позволяют не только запускать Silverlight приложения на указанных устройства, но еще приносят ряд улучшений в устройства, а именно:

  • Медиа - возможность воспроизведения H.264 видео формата. При этом используется возможность декодирование на апаратном уровне с последующей обработкой данных.
  • IIS Smooth Streaming - позволяет пользователям смотреть прямые трансляции и видео ресурсы с использованием технологии адаптивного стриминга(IIS Smooth Streaming). При этом так же поддерживается возможность переключения битрейта видео.
  • .NET совместимость.
  • Насыщенные приложения - разработчики могут использовать Silverlight 2 для разработки насыщенных приложений для мобильных устройств.

Скачать расширение можно по следующим адресам:

Если у вас есть устройство Nokia 5800 Xpress Music или N97 или N97 Mini, то вы можете загрузить Silverlight с  Ovi Store.

Детали читайте на станице Silverlight for Symbian сообщества Silverlight разработчиков.

 



Posted on 25. June 2010

Реклама в Windows Phone 7

Во время Cannes Lions Festival во Франции было продемонстрировано возможные варианты размещения рекламы в приложениях Windows Phone 7. К тому же Mich Matthews аннонсировала, что запуск Windows Phone 7 будет в октябре месяце.

 



Posted on 24. June 2010

Свежий взгляд на Windows Phone 7

Свежий видео обзор возможностей платформы Windows Phone 7.



Posted on 29. April 2010

Доступен Windows Phone 7 Tools CTP April Refresh

Доступна обновленная версия Visual Studio 2010 Express from Windows Phone 7 CTP. Теперь можно создавать WP7 приложения используя Visual Studio 2010 RTM.

Изменения текущей версии:

  • обновился эмулятор WP7;
  • изменилась часть API (детальнее);
  • обновилась документация;
  • поддерживаются Pause/Resume события;
  • исправлено ряд ошибок.

Детальнее об изменения в Windows Phone Developer Tools CTP Refresh! и Windows Phone 7 Developer Tools April 2010 Refresh

Windows Phone Developer Tools CTP - April Refresh

Windows Phone Developer Tools CTP (Refresh April 2010) Release Notes

Расширения для Expression Blend 4



Posted on 12. April 2010

Телефон от Microsoft

Microsoft анонсировала мобильное устройство KIN. Это еще один шаг компании в сторону социальных сетей. KIN объединяет в себе телефон, онлайн сервисы и ПК. Он разработан для социально-ориентированой уадитории. Увидеть KIN в действии можно на сайте Channel9(интервью Roz Ho и Matthew Bencke из Premium Mobile Experiences подразделения Microsoft). Устройство показали сразу в 2-х версиях: KIN 1 и KIN 2. Их характеристики:

 



Posted on 22. March 2010

Тестируем MultiTouch на эмуляторе Windows Phone 7 Series

Желание потестировать MultiTouch функционал на эмуляторе Windows Phone 7 снижается после прочтения строки из документации:

The Windows Phone Emulator does not support multitouch input through the mouse, so you must test scale transforms on a development computer that supports touch input, or test on an actual device.

Отсюда следует несколько вариантов:

  1. Покупать устройство с поддержкой MultiTouch.
  2. Ждать выхода устройства с Windows Phone 7 Series на борту.
  3. Получить возможность тестировать приложение на прототипе.

Найболее вероятный первый варинат.

Но на днях Jonas Folles продемонстрировал еще один способ(на мой взгляд найболее вероятный):

Emulating Multitouch on the Windows Phone 7 Emulator using multiple mice from Jonas Follesø on Vimeo.

Источник.



Posted on 16. March 2010

Silverlight for Symbian Beta

На прошлой неделе в интернете начала появляться информация о доступном Silverlight плагине для мобильных устройств Nokia. Но при попытке перейти на страницу загрузки, пользователи получали сообщение о неправильном адреcе. И вот сегодня можно уже скачать плагин Silverlight for Symbian Beta и расширение для разработчиков Microsoft® Silverlight™ for Symbian – Beta Developer Tools.

Немного информации из описания Developer Tools:

  • Supported Platforms

The Silverlight runtime for Symbian is hosted in the S60 default browser only (WebKit-based).

All Nokia S60 5th Edition devices are supported, including the following:

o    Nokia 5800 XpressMusic

o    Nokia N97

o    Nokia N97 Mini

o    S60 5th Edition SDK v1.0 Emulator

  • Supported Browsers

The Nokia S60 browser is based on Webkit. Browser versions 7.1.xxx or higher are supported. However, for optimal performance and bug fixes, version 7.2.xxx or higher version is recommended.

  • Supported Development Languages

C# is the only language that is supported for Silverlight application development on devices.

       Note   Visual Basic is not supported in this release.

После установки Silverlight For Symbian Developers Tools рекумендую ознакомиться с документацией в каталоге Docs. Полный путь к указаному каталогу на моем компьютере C:\Program Files (x86)\Microsoft Silverlight for Symbian - Beta\Docs. В документации вы найдете необходимую информацию для отладки Silverlight приложений в эмуляторе и об ограничениях.