Delen via


MediaElement

MediaElement is een besturingselement voor het afspelen van video en audio. Media die door het onderliggende platform worden ondersteund, kunnen worden afgespeeld vanuit de volgende bronnen:

  • Het web gebruikt een URI (HTTP of HTTPS).
  • Een resource die is ingesloten in de platformtoepassing, met behulp van het embed:// URI-schema.
  • Bestanden die afkomstig zijn van het lokale bestandssysteem van de app, met behulp van het filesystem:// URI-schema.

MediaElement kan gebruikmaken van de afspeelbediening van het platform, ook wel transportbediening genoemd. Ze zijn echter standaard uitgeschakeld en kunnen worden vervangen door uw eigen transportcontroles. Op de volgende schermafbeeldingen ziet u MediaElement een video afspelen met de bedieningselementen van het platform.

Schermopname van een MediaElement die een video afspeelt, op Android en iOS.

Notitie

MediaElement is beschikbaar op iOS, Android, Windows, macOS en Tizen.

De MediaElement maakt gebruik van de volgende platform-implementaties.

Perron Implementatie van platformmediaspeler
Android ExoPlayer, hartelijk dank aan de Android-bibliotheken onderhouders!
iOS/macOS AVPlayer
Ramen MediaPlayer

Aan de slag gaan

Als u de MediaElement-functie van de .NET MAUI Community Toolkit wilt gebruiken, zijn de volgende stappen vereist.

NuGet-pakket installeren

Voordat u MediaElement in uw toepassing kunt gebruiken, moet u het CommunityToolkit.Maui.MediaElement NuGet-pakket installeren en een initialisatieregel toevoegen aan uw MauiProgram.cs. Als volgt:

pakketnaam:CommunityToolkit.Maui.MediaElement

URL van pakket :https://www.nuget.org/packages/CommunityToolkit.Maui.MediaElement

Het pakket initialiseren

Eerst moet u de using-instructie aan het begin van uw MauiProgram.cs-bestand toevoegen.

using CommunityToolkit.Maui.MediaElement;

Als u de MediaElement correct wilt gebruiken, moet de methode UseMauiCommunityToolkitMediaElement worden aangeroepen op de MauiAppBuilder-klasse bij het opstarten van een toepassing het MauiProgram.cs-bestand. In het volgende voorbeeld ziet u hoe u dit kunt uitvoeren.

var builder = MauiApp.CreateBuilder();
builder
    .UseMauiApp<App>()
    .UseMauiCommunityToolkitMediaElement()

Raadpleeg de pagina Aan de slag voor meer informatie over hoe u dit doet.

Platformspecifieke initialisatie

Voor toegang tot de MediaElement-functionaliteit is de volgende platformspecifieke installatie vereist.

Wanneer u MediaElement gebruikt, is het essentieel om de volgende stappen uit te voeren:

1. Voeg ResizableActivity en Launchmode toe aan activiteit

[Activity(Theme = "@style/Maui.SplashTheme", ResizeableActivity = true, MainLauncher = true, LaunchMode = LaunchMode.SingleTask)]
public class MainActivity : MauiAppCompatActivity
{
}

2. Voeg het volgende toe aan AndroidManifest.xml binnen de <application> tag.

 <service android:name="communityToolkit.maui.media.services" android:stopWithTask="true" android:exported="false" android:enabled="true" android:foregroundServiceType="mediaPlayback">
   <intent-filter>
     <action android:name="androidx.media3.session.MediaSessionService"/>
   </intent-filter>
 </service>

3. Werk de minimale android-API-versie bij

Werk in het .csproj-bestand van het project de minimale android-API-versie bij naar 26.

<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">26.0</SupportedOSPlatformVersion>

4. Voeg de volgende machtigingen toe aan AndroidManifest.xml

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />

Hier volgt een voorbeeld van de vereiste instellingen in AndroidManifest.xml

<service android:name="communityToolkit.maui.media.services" android:stopWithTask="true" android:exported="false" android:enabled="true" android:foregroundServiceType="mediaPlayback">
    <intent-filter>
        <action android:name="androidx.media3.session.MediaSessionService"/>
    </intent-filter>
</service>
</application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK"/>
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/>

Notitie

Door deze wijziging in het Android-manifest kunnen metagegevens worden weergegeven wanneer u een video afspeelt. Het biedt ondersteuning voor meldingen en is essentieel voor meldingen om te functioneren in alle relevante API's. De wijziging introduceert een service en verleent de benodigde machtigingen.

Voor een volledig voorbeeld van deze methode in een toepassing kunt u de .NET MAUI Community Toolkit voorbeeldtoepassing raadplegen.

Ondersteunde indelingen

De ondersteunde multimedia-indelingen kunnen per platform verschillen. In sommige gevallen kan het zelfs afhankelijk zijn van welke decoders beschikbaar zijn of zijn geïnstalleerd op het besturingssysteem dat wordt gebruikt tijdens het uitvoeren van uw app. Raadpleeg de onderstaande koppelingen voor meer gedetailleerde informatie over welke indelingen worden ondersteund op elk platform.

Perron Verbinden Notities
Android door ExoPlayer ondersteunde indelingen
iOS/macOS Ondersteunde indelingen voor iOS/macOS Er bestaat geen officiële documentatie hierover
Windows Windows Ondersteunde Indelingen In Windows zijn de ondersteunde indelingen erg afhankelijk van welke codecs op de computer van de gebruiker zijn geïnstalleerd
Tizen Tizen ondersteunde formaten

Belangrijk

Als de gebruiker een Windows N-editie gebruikt, wordt het afspelen van video's standaard niet ondersteund. Windows N-edities hebben opzettelijk geen videoweergaveformaten geïnstalleerd.

Algemene scenario's

In de volgende secties worden veelvoorkomende gebruiksscenario's voor de MediaElementbeschreven.

Externe media afspelen

Een MediaElement kan externe mediabestanden afspelen met behulp van de HTTP- en HTTPS-URI-schema's. Dit wordt bereikt door de eigenschap Source in te stellen op de URI van het mediabestand:

<toolkit:MediaElement Source="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"
              ShouldShowPlaybackControls="True" />

Belangrijk

Wanneer u externe bronnen van HTTP-eindpunten afspeelt, moet u waarschijnlijk beveiligingsmaatregelen van het besturingssysteem uitschakelen die toegang tot onveilige webeindpunten voorkomen. Dit geldt ten minste voor iOS en Android.

De media die door de eigenschap Source zijn gedefinieerd, worden standaard niet onmiddellijk afgespeeld nadat de media zijn geopend. Als u het automatisch afspelen van media wilt inschakelen, stelt u de eigenschap ShouldAutoPlay in op true.

Door het platform aangeboden besturingselementen voor het afspelen van media zijn standaard ingeschakeld en kunnen worden uitgeschakeld door de eigenschap ShouldShowPlaybackControls in te stellen op false.

Metagegevens gebruiken

Een MediaElement kan metagegevens gebruiken voor MediaElement.MetadataTitle, MediaElement.MetadataArtist en MediaElement.MetadataArtworkUrl. U kunt de titel of artiest instellen om te laten zien wat er momenteel wordt afgespeeld op vergrendelingsbesturingselementen voor Windows, Mac Catalyst, iOS en Android. U kunt een lokale of externe URL instellen met illustraties voor het vergrendelingsscherm. Het moet ten minste 1080P zijn om de beste kwaliteit weer te geven. Het moet een URL zijn en ofwel .jpg of .png

<toolkit:MediaElement 
    MetadataTitle="Title"
    MetadataArtist="Artist"
    MetadataArtworkUrl="http://www.myownpersonaldomain.com/image.jpg" />
    MediaElement.MetadataTitle="Title";
    MediaElement.MetadataArtist="Artist";
    MediaElement.MetadataArtworkUrl="http://www.myownpersonaldomain.com/image.jpg";

Belangrijk

U kunt de metagegevens instellen in XAML of code daarachter. Als u dit in de achterliggende code instelt, moet u de bron in de achterliggende code instellen. De bron moet als laatste worden ingesteld. Als u de metagegevens in XAML of in constructor instelt, kan deze notitie veilig worden genegeerd.

Lokale media afspelen

Lokale media kunnen worden afgespeeld vanuit de volgende bronnen:

  • Een resource die is ingesloten in de platformtoepassing, met behulp van het embed:// URI-schema.
  • Bestanden die afkomstig zijn van het lokale bestandssysteem van de app, met behulp van het filesystem:// URI-schema.

Notitie

De afkortingen embed:// en filesystem:// werken alleen vanuit XAML. Gebruik in code respectievelijk MediaSource.FromResource() en MediaSource.FromFile(). Met deze methoden kunt u de embed:// en filesystem:// voorvoegsels weglaten. De rest van het pad moet hetzelfde zijn.

Media afspelen die zijn ingesloten in het app-pakket

Een MediaElement kan mediabestanden afspelen die zijn ingesloten in het app-pakket, met behulp van het embed:// URI-schema. Mediabestanden worden ingesloten in het app-pakket door ze in het platformproject te plaatsen.

Als u een mediabestand wilt inschakelen voor afspelen vanuit de lokale bronnen, voegt u het bestand toe aan de map Resources/Raw van uw .NET MAUI-project. Wanneer een bestand wordt toegevoegd in de hoofdmap, wordt de URI embed://MyFile.mp4.

U kunt ook bestanden in submappen plaatsen. Als MyFile.mp4 in Resources/Raw/MyVideos zou staan, zou de URI voor gebruik met MediaElementembed://MyVideos/MyFile.mp4zijn.

Hieronder ziet u een voorbeeld van het gebruik van deze syntaxis in XAML.

<toolkit:MediaElement Source="embed://MyFile.mp4"
              ShouldShowPlaybackControls="True" />

MediaSource-typen begrijpen

Een MediaElement kan media afspelen door de eigenschap Source in te stellen op een extern of lokaal mediabestand. De eigenschap Source is van het type MediaSourceen deze klasse definieert drie statische methoden:

  • FromFileretourneert een FileMediaSource exemplaar van een string argument.
  • FromUriretourneert een UriMediaSource exemplaar van een Uri argument.
  • FromResourceretourneert een ResourceMediaSource exemplaar van een string argument.

Bovendien bevat de MediaSource-klasse ook impliciete operatoren die MediaSource exemplaren retourneren van string- en Uri-argumenten.

Notitie

Wanneer de eigenschap Source is ingesteld in XAML, wordt een typeconversieprogramma aangeroepen om een MediaSource exemplaar van een string of Urite retourneren.

De MediaSource-klasse heeft ook deze afgeleide klassen:

  • FileMediaSource, die wordt gebruikt om een lokaal mediabestand van een stringop te geven. Deze klasse heeft een Path eigenschap die kan worden ingesteld op een string. Bovendien heeft deze klasse impliciete operators om een string te converteren naar een FileMediaSource-object en een FileMediaSource-object naar een string.
  • UriMediaSource, dat wordt gebruikt om een extern mediabestand via een URI te specificeren. Deze klasse heeft een Uri eigenschap die kan worden ingesteld op een Uri.
  • ResourceMediaSource, die wordt gebruikt om een ingesloten bestand op te geven dat wordt geleverd via de resourcebestanden van de app. Deze klasse heeft een Path eigenschap die kan worden ingesteld op een string.

Notitie

Wanneer een FileMediaSource-object wordt gemaakt in XAML, wordt een typeconversieprogramma aangeroepen om een FileMediaSource exemplaar van een stringte retourneren.

Hoogte-breedteverhouding van video wijzigen

De eigenschap Aspect bepaalt hoe videomedia worden geschaald zodat deze passen bij het weergavegebied. Deze eigenschap is standaard ingesteld op het AspectFit opsommingslid, maar kan worden ingesteld op een van de Aspect opsommingsleden:

  • AspectFit geeft aan dat de video, indien nodig, wordt geletterboxed om in het weergavegebied te passen, terwijl de hoogte-breedteverhouding behouden blijft.
  • AspectFill geeft aan dat de video wordt geknipt, zodat deze het weergavegebied vult, terwijl de hoogte-breedteverhouding behouden blijft.
  • Fill geeft aan dat de video wordt uitgerekt om het weergavegebied te vullen.

De status van MediaElement bepalen

De klasse MediaElement definieert een alleen-lezen bindbare eigenschap met de naam CurrentState, van het type MediaElementState. Deze eigenschap geeft de huidige status van het besturingselement aan, zoals of de media wordt afgespeeld of gepauzeerd, of dat het nog niet gereed is om het afspelen van de media te starten.

De opsomming MediaElementState definieert de volgende leden:

  • None geeft aan dat de MediaElement geen media bevat.
  • Opening geeft aan dat de MediaElement de opgegeven bron valideert en probeert te laden.
  • Buffering geeft aan dat de MediaElement de media laadt voor afspelen. De Position eigenschap gaat niet verder tijdens deze toestand. Als de MediaElement video afspeelde, wordt het laatst weergegeven frame nog steeds weergegeven.
  • Playing geeft aan dat de MediaElement de mediabron afspeelt.
  • Paused geeft aan dat de MediaElement de eigenschap Position niet verbetert. Als de MediaElement video afspeelde, wordt het huidige frame nog steeds weergegeven.
  • Stopped geeft aan dat de MediaElement media bevat, maar niet wordt afgespeeld of gepauzeerd. De eigenschap Position wordt opnieuw ingesteld op 0 en gaat niet verder.
  • Failed geeft aan dat het MediaElement de media niet kan laden of afspelen. Dit kan gebeuren tijdens het laden van een nieuw media-item, wanneer u probeert het media-item af te spelen of wanneer het afspelen van media wordt onderbroken vanwege een fout. Gebruik de MediaFailed gebeurtenis om aanvullende details op te halen.

Het is over het algemeen niet nodig om de eigenschap CurrentState te onderzoeken bij het gebruik van de MediaElement transportbediening. Deze eigenschap wordt echter belangrijk bij het implementeren van uw eigen transportcontroles.

Aangepaste transportcontroles implementeren

De transportbesturingselementen van een mediaspeler bevatten de knoppen die de functies Afspelen, Onderbrekenen Stoppenuitvoeren. Deze knoppen worden over het algemeen aangeduid met vertrouwde pictogrammen in plaats van tekst, en de functies Afspelen en Onderbreken functies worden over het algemeen gecombineerd tot één knop.

De MediaElement afspeelbesturingselementen zijn standaard uitgeschakeld. Zo kunt u de MediaElement programmatisch beheren of door uw eigen transportcontroles te leveren. Ter ondersteuning hiervan bevat MediaElementPlay, Pauseen Stop methoden.

In het volgende XAML-voorbeeld ziet u een pagina met een MediaElement en aangepaste transportbesturingselementen:

<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.CustomTransportPage"
             Title="Custom transport">
    <Grid>
        ...
        <toolkit:MediaElement x:Name="mediaElement"
                      ShouldAutoPlay="False"
                      ... />
        <HorizontalStackLayout BindingContext="{x:Reference mediaElement}"
                     ...>
            <Button Text="Play"
                    HorizontalOptions="Center"
                    Clicked="OnPlayPauseButtonClicked">
                <Button.Triggers>
                    <DataTrigger TargetType="Button"
                                 Binding="{Binding CurrentState}"
                                 Value="{x:Static toolkit:MediaElementState.Playing}">
                        <Setter Property="Text"
                                Value="Pause" />
                    </DataTrigger>
                    <DataTrigger TargetType="Button"
                                 Binding="{Binding CurrentState}"
                                 Value="{x:Static toolkit:MediaElementState.Buffering}">
                        <Setter Property="IsEnabled"
                                Value="False" />
                    </DataTrigger>
                </Button.Triggers>
            </Button>
            <Button Text="Stop"
                    HorizontalOptions="Center"
                    Clicked="OnStopButtonClicked">
                <Button.Triggers>
                    <DataTrigger TargetType="Button"
                                 Binding="{Binding CurrentState}"
                                 Value="{x:Static toolkit:MediaElementState.Stopped}">
                        <Setter Property="IsEnabled"
                                Value="False" />
                    </DataTrigger>
                </Button.Triggers>
            </Button>
        </HorizontalStackLayout>
    </Grid>
</ContentPage>

In dit voorbeeld worden de aangepaste transportcontroles gedefinieerd als Button objecten. Er zijn echter slechts twee Button objecten, waarbij de eerste ButtonAfspelen en Onderbrekenvertegenwoordigt, en de tweede Button die Stopvertegenwoordigt. DataTrigger objecten worden gebruikt om de knoppen in en uit te schakelen en om de eerste knop tussen Afspelen en onderbrekente schakelen. Zie .NET MAUI Triggersvoor meer informatie over gegevenstriggers.

Het code-behind-bestand bevat de handlers voor de Clicked-gebeurtenissen:

void OnPlayPauseButtonClicked(object sender, EventArgs args)
{
    if (mediaElement.CurrentState == MediaElementState.Stopped ||
        mediaElement.CurrentState == MediaElementState.Paused)
    {
        mediaElement.Play();
    }
    else if (mediaElement.CurrentState == MediaElementState.Playing)
    {
        mediaElement.Pause();
    }
}

void OnStopButtonClicked(object sender, EventArgs args)
{
    mediaElement.Stop();
}

De knop Afspelen kan worden ingedrukt, zodra deze is ingeschakeld, om te beginnen met afspelen. Als u op de knop Onderbreken drukt, wordt het afspelen onderbroken. Als u op de knop Stoppen drukt, wordt het afspelen gestopt en wordt de positie van het mediabestand naar het begin geretourneerd.

Een aangepast volumebeheer implementeren

Besturingselementen voor het afspelen van media die door elk platform zijn geïmplementeerd, bevatten een volumebalk. Deze balk lijkt op een schuifregelaar en toont het volume van de media. Daarnaast kunt u de volumebalk bewerken om het volume te verhogen of te verlagen.

Een aangepaste volumebalk kan worden geïmplementeerd met behulp van een Slider, zoals wordt weergegeven in het volgende voorbeeld:

<StackLayout>
    <toolkit:MediaElement ShouldAutoPlay="False"
                          Source="{StaticResource AdvancedAsync}" />
    <Slider Maximum="1.0"
            Minimum="0.0"
            Value="{Binding Volume}"
            Rotation="270"
            WidthRequest="100" />
</StackLayout>

In dit voorbeeld binden de Slider gegevens de eigenschap Value aan de eigenschap Volume van de MediaElement. Dit is mogelijk omdat de eigenschap Volume een TwoWay binding gebruikt. Als u de eigenschap Value wijzigt, wordt de eigenschap Volume daarom gewijzigd.

Notitie

De eigenschap Volume heeft een terugbelactie voor validatie die ervoor zorgt dat de waarde groter is dan of gelijk is aan 0,0 en kleiner dan of gelijk aan 1,0.

Zie voor meer informatie over het gebruik van een Slider, de .NET MAUI Slider

MediaElement resources opschonen

Om geheugenlekken te voorkomen, moet u de resources van MediaElementvrij maken. Dit kan worden gedaan door de handler los te koppelen. Waar u dit moet doen, is afhankelijk van waar en hoe u MediaElement in uw app gebruikt, maar meestal als u een MediaElement op één pagina hebt en geen media op de achtergrond afspeelt, wilt u de resources vrijmaken wanneer de gebruiker van de pagina weg navigeert.

Hieronder vindt u een fragment met voorbeeldcode dat laat zien hoe u dit doet. Zorg er eerst voor dat u de Unloaded gebeurtenis op uw pagina koppelt.

<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.FreeResourcesPage"
             Title="Free Resources"
             Unloaded="ContentPage_Unloaded">
    
    <toolkit:MediaElement x:Name="mediaElement"
                          ShouldAutoPlay="False"
                          ... />
</ContentPage>

Roep vervolgens in de code-behind de methode aan om de handler los te koppelen.

public partial class FreeResourcesPage : ContentPage
{
    void ContentPage_Unloaded(object? sender, EventArgs e)
    {
        // Stop and cleanup MediaElement when we navigate away
        mediaElement.Handler?.DisconnectHandler();
    }
}

Voor meer informatie over handlers raadpleegt u de .NET MAUI-documentatie over Handlers.

Eigenschappen

Eigenschap Type Beschrijving Standaardwaarde
Aspect aspect Bepaalt de schaalmodus voor de (visuele) media die momenteel worden geladen. Dit is een bindbare eigenschap. Aspect.AspectFit
HuidigeStaat MediaElementState Geeft de huidige status van het besturingselement aan. Dit is een alleen-lezen, bindbare eigenschap. MediaElementState.None
Duur TimeSpan Geeft de duur aan van de momenteel geopende media. Dit is een alleenlezen, bindbare eigenschap. TimeSpan.Zero
Positie TimeSpan Beschrijft de huidige voortgang in de afspeeltijd van de media. Dit is een eigenschap die alleen-lezen is en gebonden kan worden. Als u de Position wilt instellen, gebruikt u de methode SeekTo(). TimeSpan.Zero
MoetAutomatischAfspelen bool Hiermee wordt aangegeven of het afspelen van media automatisch wordt gestart wanneer de eigenschap Source is ingesteld. Dit is een bindbare eigenschap. false
ShouldLoopPlayback bool Beschrijft of de momenteel geladen mediabron het afspelen vanaf het begin moet hervatten nadat het einde is bereikt. Dit is een bindbare eigenschap. false
SchermAanHouden bool Bepaalt of het scherm van het apparaat ingeschakeld moet blijven tijdens het afspelen van media. Dit is een bindbare eigenschap. false
ShouldMute bool Bepaalt of de audio op dit moment is gedempt. Dit is een bindbare eigenschap. false
MoetAfspeelbedieningenWeergeven bool Bepaalt of de afspeelbesturingselementen van het platform worden weergegeven. Dit is een bindbare eigenschap. Houd er rekening mee dat in iOS en Windows de besturingselementen slechts gedurende een korte periode worden weergegeven na interactie met het scherm. Er is geen manier om de besturingselementen altijd zichtbaar te houden. true
Bron MediaSource? De bron van de media die in het besturingselement is geladen. null
Snelheid double Bepaalt de afspeelsnelheid van de media. Dit is een bindbare eigenschap 1
MediaHeight int De hoogte van de geladen media in pixels. Dit is een alleen-leesbare bindbare eigenschap. Niet gerapporteerd voor niet-visuele media en is mogelijk niet altijd ingevuld op iOS/macOS voor livestreaming van inhoud. 0
MediaWidth int De breedte van de geladen media in pixels. Dit is een alleen lezen, bindbare eigenschap. Niet gerapporteerd voor niet-visuele media en is mogelijk niet altijd ingevuld op iOS/macOS voor livestreaming van inhoud. 0
Geluid double Bepaalt het volume van de media, dat wordt weergegeven op een lineaire schaal tussen 0 en 1. Dit is een bindbare eigenschap. 1

Gebeurtenissen

Gebeurtenis Beschrijving
MediaOpened Treedt op wanneer de mediastream is gevalideerd en geopend.
Media Beëindigd Treedt op wanneer de MediaElement klaar is met het afspelen van zijn media.
Media Mislukt Treedt op wanneer er een fout is gekoppeld aan de mediabron.
PositieGewijzigd Treedt op wanneer de eigenschapswaarde van de Position is gewijzigd.
ZoekopdrachtVoltooid Treedt op wanneer het zoekpunt van een aangevraagde zoekbewerking gereed is voor afspelen.

Methoden

Gebeurtenis Beschrijving
Spelen Begint met het afspelen van de geladen media.
Pauze Hiermee wordt het afspelen van de huidige media onderbroken.
Stoppen Stop het afspelen en reset de positie van het huidige mediabestand.
SeekTo Accepteert een TimeSpan waarde voor het instellen van de eigenschap Position en een CancellationToken voor het annuleren van de Task.

Voorbeelden

U kunt voorbeelden van dit besturingselement in actie vinden in de .NET MAUI Community Toolkit Voorbeeldtoepassing.

API

U vindt de broncode voor MediaElement in de gitHub-opslagplaats van .NETHUB Community Toolkit.