Riproduci audio e video nelle app .NET MAUI con il nuovo MediaElement
Development
Riproduci audio e video nelle app .NET MAUI con il nuovo MediaElement
È stato rilasciato uno dei controlli più attesi per .NET MAUI; MediaElement. Con MediaElement puoi riprodurre facilmente audio e video dalla tua app .NET MAUI, in questo post imparerai tutto ciò che devi sapere su questa prima versione e sui piani che abbiamo per il futuro!
Cos'è MediaElement?
Con MediaElement ottieni un potente controllo che ti consente di riprodurre contenuti multimediali all'interno della tua app .NET MAUI.
Potresti già conoscere MediaElement dal Xamarin Community Toolkit dove è stato aggiunto dall'incredibile lavoro del membro della community Peter Foot. Sebbene quella versione fosse già abbastanza buona, aveva anche margini di miglioramento, specialmente su Android.
Ecco perché, durante il porting di MediaElement su .NET MAUI, abbiamo ricostruito tutto da zero. In questo modo potremmo assicurarci di mantenere tutte le parti che sono già buone, migliorando al contempo le cose che potrebbero richiedere un po' di amore.
Sotto il cappuccio
Per Android abbiamo scelto di utilizzare ExoPlayer come controparte della piattaforma, sostituendo l'Android MediaPlayer che abbiamo utilizzato per Xamarin. In questo modo otteniamo automaticamente molte funzionalità extra che sono disponibili per noi fuori dagli schemi, come la riproduzione di video HTTP Live Streaming (HLS), controlli di trasporto della piattaforma dall'aspetto eccezionale e molte altre cose.
Su iOS e macOS stiamo usando la piattaforma AVPlayer come abbiamo fatto anche con MediaElement di Xamarin. Anche quello di Tizen è invariato utilizzando Tizen.Multimedia.Player.
Ora che .NET MAUI si basa su WinUI invece che su UWP, qui stiamo usando il nuovissimo MediaPlayerElement di WinUI. Anche se questo controllo è molto giovane per WinUI, è già molto completo e sembra promettente.
Il supporto per diversi formati multimediali differisce tra le piattaforme (e potenzialmente quali codec hai installato), ma utilizzando i lettori multimediali nativi della piattaforma sfruttiamo tutta la potenza e le relative prestazioni ottimizzate per ciascun sistema operativo.
Gerald Versluis