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.
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 MediaElement
beschreven.
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 MediaElement
embed://MyVideos/MyFile.mp4
zijn.
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 MediaSource
en deze klasse definieert drie statische methoden:
-
FromFile
retourneert eenFileMediaSource
exemplaar van eenstring
argument. -
FromUri
retourneert eenUriMediaSource
exemplaar van eenUri
argument. -
FromResource
retourneert eenResourceMediaSource
exemplaar van eenstring
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 Uri
te retourneren.
De MediaSource
-klasse heeft ook deze afgeleide klassen:
-
FileMediaSource
, die wordt gebruikt om een lokaal mediabestand van eenstring
op te geven. Deze klasse heeft eenPath
eigenschap die kan worden ingesteld op eenstring
. Bovendien heeft deze klasse impliciete operators om eenstring
te converteren naar eenFileMediaSource
-object en eenFileMediaSource
-object naar eenstring
. -
UriMediaSource
, dat wordt gebruikt om een extern mediabestand via een URI te specificeren. Deze klasse heeft eenUri
eigenschap die kan worden ingesteld op eenUri
. -
ResourceMediaSource
, die wordt gebruikt om een ingesloten bestand op te geven dat wordt geleverd via de resourcebestanden van de app. Deze klasse heeft eenPath
eigenschap die kan worden ingesteld op eenstring
.
Notitie
Wanneer een FileMediaSource
-object wordt gemaakt in XAML, wordt een typeconversieprogramma aangeroepen om een FileMediaSource
exemplaar van een string
te 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 deMediaElement
geen media bevat. -
Opening
geeft aan dat deMediaElement
de opgegeven bron valideert en probeert te laden. -
Buffering
geeft aan dat deMediaElement
de media laadt voor afspelen. DePosition
eigenschap gaat niet verder tijdens deze toestand. Als deMediaElement
video afspeelde, wordt het laatst weergegeven frame nog steeds weergegeven. -
Playing
geeft aan dat deMediaElement
de mediabron afspeelt. -
Paused
geeft aan dat deMediaElement
de eigenschapPosition
niet verbetert. Als deMediaElement
video afspeelde, wordt het huidige frame nog steeds weergegeven. -
Stopped
geeft aan dat deMediaElement
media bevat, maar niet wordt afgespeeld of gepauzeerd. De eigenschapPosition
wordt opnieuw ingesteld op 0 en gaat niet verder. -
Failed
geeft aan dat hetMediaElement
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 deMediaFailed
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 MediaElement
Play
, Pause
en 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 Button
Afspelen 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 MediaElement
vrij 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.
Verwante koppelingen
.NET MAUI Community Toolkit