메뉴 건너뛰기

게임 커뮤니티 4브론즈

IT 해외 뉴스

本文翻译于Gerald Versluis的这篇英文文章:Play Audio and Video in .NET MAUI apps with the new MediaElement 。 最受期待的 .NET MAUI 控件之一:MediaElement现已发布。有了 MediaElement,您可以轻松地在 .NET MAUI 应用程序中播放音频和视频,在这篇文章中,您将了解到有关MediaElement第一个版本的所有信息以及我们对未来的计划!Media Element 是.NET MAUI Community Toolkit的一部分,这是一个社区创建的库,受到来自全球社区和 Microsoft 的优秀开发人员的支持。 什么是MediaElement? 有了 MediaElement,您就有了强大的控件,从而可以在 .NET MAUI 应用程序中播放多媒体。 得益于社区成员 Peter Foot 的出色工作,您可能已经从 Xamarin 社区工具包中了解到了 MediaElement。虽然那个版本已经很不错了,但它还有改进的空间,尤其是在 Android 上。 这就是为什么在将 MediaElement 移植到 .NET MAUI 时,我们从基层重建了所有内容。这样我们就可以在保留所有已经很好的部分的同时做一些改进。 底层逻辑 针对 Android,我们选择ExoPlayer用作平台对应物,替换我们用于 Xamarin 的 Android MediaPlayer。通过这种方式,我们自动获得了即用的额外功能,例如播放 HTTP 实时流式传输 (HLS) 视频、美观的平台传输控件以及许多其他功能。 针对iOS 和 macOS,我们使用 AVPlayer平台,就像我们在Xamarin的MediaElement上所做的那样。此外,Tizen 仍然使用.Tizen.Multimedia.Player。 现在 .NET MAUI 构建在 WinUI 的基础之上,而不是 UWP ,我们这里使用了全新的 WinUI MediaPlayerElement。虽然这个控件对于 WinUI 来说也很年轻,但它已经非常完整并且很有前途。 对不同媒体格式的支持因平台而异(可能还会因你安装的编解码器而不同),但通过使用平台原生媒体播放器,我们可以为每个操作系统有效利用所有功能和相关的优化性能。 入门 想要开始使用 MediaElement 很容易。首先,你要安装CommunityToolkit.Maui.MediaElement NuGet 包。这是一个独立于主要社区工具包的包。 安装完成后,进入你的MauiProgram.cs并将以下初始化行添加到MauiAppBuilder: public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder();


원문출처 : https://devblogs.microsoft.com/dotnet-ch/maui%E4%B8%AD%E5%A4%A7%E5%AE%B6%E6%9C%9F%E5%BE%85%E7%9A%84mediaelement-%E6%8E%A7%E4%BB%B6%E7%BB%88%E4%BA%8E%E6%9D%A5%E5%95%A6
번호 제목 글쓴이 날짜 조회 수
공지 자동수집 대상 사이트 KanoT 2023.02.14 2138
» [DevBlogs] MAUI中大家期待的MediaElement 控件终于来啦 뉴스봇 2023.02.20 1300
27 [Stack Overflow] Developer with ADHD? You’re not alone. 뉴스봇 2023.02.20 954
26 [DevBlogs] RunCommand vs Custom Script Extension vs VM Applications 뉴스봇 2023.02.18 1131
25 [DevBlogs] Out with the REST: An Azure Monitor Logs ingestion SDK appears 뉴스봇 2023.02.18 355
24 [DevBlogs] New Boards Hub, Sprint 217 update 뉴스봇 2023.02.18 845
23 [DevBlogs] What happens if you co_await a std::future, and why is it a bad idea? 뉴스봇 2023.02.18 353
22 [Stack Overflow] The Overflow #165: Your new favorite band is an AI 뉴스봇 2023.02.17 313
21 [Stack Overflow] Because the only thing worse than building internal tools is maintaining them (Ep. 539) 뉴스봇 2023.02.17 1312
20 [DevBlogs] Bringing ONNX models to Android 뉴스봇 2023.02.17 1031
19 [DevBlogs] Unreal Engine Integrations Now Available in Visual Studio 2022 뉴스봇 2023.02.17 980
18 [DevBlogs] What does it mean when my cross-thread COM call fails with RPC_E_SYS_CALL_FAILED? 뉴스봇 2023.02.17 371
17 [Stack Overflow] Monitoring debt builds up faster than software teams can pay it off 뉴스봇 2023.02.16 953
16 [DevBlogs] Join us for Hack Together: Microsoft Graph and .NET 뉴스봇 2023.02.16 533
15 [DevBlogs] Azure DevOps Pipelines: If Expressions and Conditions 뉴스봇 2023.02.16 962
14 [DevBlogs] Minecraft’s WSL build time cut in half after working with Visual Studio C++ team 뉴스봇 2023.02.16 943
13 [DevBlogs] Video acceleration API (VA-API) now available on Windows! 뉴스봇 2023.02.16 941
12 [DevBlogs] Upgrading your .NET projects with Visual Studio 뉴스봇 2023.02.16 403
11 [DevBlogs] Tips & Tricks on Upgrading Xamarin.iOS & Xamarin.Android to .NET for iOS & Android 뉴스봇 2023.02.16 481
10 [DevBlogs] Microsoft Teams apps are now generally available on Microsoft 365 Android app 뉴스봇 2023.02.16 486
9 [DevBlogs] What are the potentially-erroneous results if you don’t pass NULL as the lpNumberOfBytesRead when issuing overlapped I/O? 뉴스봇 2023.02.16 450
위로