Freigeben über


MediaElement

MediaElement ist ein Steuerelement für die Wiedergabe von Video und Audio. Medien, die von der zugrunde liegenden Plattform unterstützt werden, können aus den folgenden Quellen wiedergegeben werden:

  • Das Web unter Verwendung eines URI (HTTP oder HTTPS).
  • Eine in die Plattformanwendung eingebettete Ressource mit dem embed://-URI-Schema.
  • Dateien, die aus dem lokalen Dateisystem der App stammen, verwenden das filesystem://-URI-Schema.

MediaElement kann die Steuerelemente für die Plattformwiedergabe verwenden, die als Transportsteuerelemente bezeichnet werden. Sie sind jedoch standardmäßig deaktiviert und können durch Ihre eigenen Transportsteuerelemente ersetzt werden. Die folgenden Screenshots zeigen, wie MediaElement ein Video mit den Plattformtransportsteuerelementen wiedergibt:

Screenshot eines MediaElements, das unter Android und iOS ein Video abspielt.

Hinweis

MediaElement ist unter iOS, Android, Windows, macOS und Tizen verfügbar.

Die MediaElement verwendet die folgenden Plattformimplementierungen.

Plattform Implementierung des Media Players der Plattform
Android ExoPlayer, herzlicher Dank an alle, die die Android-Bibliotheken betreuen!
iOS/macOS AVPlayer
Windows MediaPlayer

Erste Schritte

Um das MediaElement Feature des .NET MAUI Community Toolkits zu verwenden, sind die folgenden Schritte erforderlich.

NuGet-Paket installieren

Bevor Sie MediaElement in Ihrer Anwendung verwenden können, müssen Sie das CommunityToolkit.Maui.MediaElement-NuGet-Paket installieren und ihrer MauiProgram.cs eine Initialisierungszeile hinzufügen. Gehen Sie dabei wie folgt vor:

Paketname: CommunityToolkit.Maui.MediaElement

Paket-URL:https://www.nuget.org/packages/CommunityToolkit.Maui.MediaElement

Initialisieren des Pakets

Zuerst muss die using-Anweisung oben in der Datei MauiProgram.cs hinzugefügt werden.

using CommunityToolkit.Maui.MediaElement;

Um MediaElement richtig zu verwenden, muss die UseMauiCommunityToolkitMediaElement-Methode für die MauiAppBuilder-Klasse beim Bootstrapping einer Anwendung in der Datei MauiProgram.cs aufgerufen werden. Das folgende Beispiel zeigt, wie Sie dies tun können.

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

Weitere Informationen dazu finden Sie auf der Seite Erste Schritte.

Plattformspezifische Initialisierung

Um auf die Funktion MediaElement zugreifen zu können, ist die folgende plattformspezifische Einrichtung erforderlich.

Bei der Verwendung von MediaElement ist es wichtig, die folgenden Schritte auszuführen:

1. Fügen Sie ResizableActivity und Launchmode zu Aktivität hinzu.

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

2. Fügen Sie folgendes zu AndroidManifest.xml innerhalb des <application>-Tags hinzu.

 <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. Aktualisieren der mindestensen Android-API-Version

Aktualisieren Sie in der .csproj-Datei des Projekts die mindeste Android-API-Version auf 26.

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

4. Fügen Sie die folgenden Berechtigungen zum 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 ist ein Beispiel für erforderliche Einstellungen 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"/>

Hinweis

Diese Änderung am Android-Manifest ermöglicht die Anzeige von Metadaten beim Wiedergeben eines Videos. Sie bietet Unterstützung für Benachrichtigungen und ist für Benachrichtigungen, die über alle relevanten APIs hinweg funktionieren, unerlässlich. Die Änderung führt einen Dienst ein und gewährt erforderliche Berechtigungen.

Ein vollständiges Beispiel für diese Methode, die in einer Anwendung enthalten ist, finden Sie in der .NET MAUI Community Toolkit-Beispielanwendung

Unterstützte Formate

Die unterstützten Multimediaformate können pro Plattform unterschiedlich sein. In einigen Fällen kann es sogar davon abhängen, welche Decoder verfügbar oder auf dem Betriebssystem installiert sind, das beim Ausführen der App verwendet wird. Ausführlichere Informationen dazu, welche Formate auf jeder Plattform unterstützt werden, finden Sie unter den nachstehenden Links.

Plattform Verknüpfung Hinweise
Android Unterstützte ExoPlayer-Formate
iOS/macOS Unterstützte Formate für iOS/macOS Es gibt keine offizielle Dokumentation dazu
Windows Unterstützte Windows-Formate Unter Windows hängen die unterstützten Formate sehr stark davon ab, welche Codecs auf dem Computer des Benutzers installiert sind.
Tizen Unterstützte Tizen-Formate

Wichtig

Wenn der Benutzer eine Windows N-Edition verwendet, wird standardmäßig keine Videowiedergabe unterstützt. Windows N-Editionen verfügen über keine standardmäßig installieren Formate für die Videowiedergabe.

Gängige Szenarios

In den folgenden Abschnitten werden allgemeine Verwendungsszenarien für MediaElement behandelt.

Wiedergeben von Remotemedien

Ein MediaElement kann Remotemediendateien mithilfe der HTTP- und HTTPS-URI-Schemata wiedergeben. Dazu legen Sie die Source-Eigenschaft auf den URI der Mediendatei fest:

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

Wichtig

Wenn Remotequellen von HTTP-Endpunkten wiedergegeben werden, müssen Sie wahrscheinlich Sicherheitsmaßnahmen des Betriebssystems deaktivieren, die den Zugriff auf unsichere Webendpunkte verhindern. Dies gilt zumindest für iOS und Android.

Standardmäßig beginnt die Wiedergabe des durch die Source-Eigenschaft definierten Mediums nicht sofort, nachdem das Medium geöffnet wurde. Um die automatische Medienwiedergabe zu aktivieren, legen Sie die ShouldAutoPlay-Eigenschaft auf true fest.

Die von der Plattform bereitgestellten Steuerelemente für die Medienwiedergabe sind standardmäßig aktiviert und können durch Festlegen der ShouldShowPlaybackControls-Eigenschaft auf falsedeaktiviert werden.

Verwenden von Metadaten

Ein MediaElement kann Metadaten für MediaElement.MetadataTitle, MediaElement.MetadataArtist und MediaElement.MetadataArtworkUrl verwenden. Sie können den Titel oder Künstler festlegen, um auf den Sperrbildschirmsteuerelementen unter Windows, Mac Catalyst, iOS und Android anzuzeigen, was derzeit wiedergegeben wird. Sie können eine lokale oder Remote-URL mit Grafiken für den Sperrbildschirm festlegen. Diese sollten mindestens 1080P sein, um die beste Qualität anzuzeigen. Es muss eine URL sein und entweder im Format .jpg oder .png vorliegen.

<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";

Wichtig

Sie können die Metadaten entweder in XAML oder CodeBehind festlegen. Wenn Sie sie in CodeBehind festlegen, müssen Sie die Quelle in CodeBehind festlegen. Die Quelle sollte zuletzt festgelegt werden. Wenn Sie die Metadaten in XAML oder im Konstruktor festlegen, können Sie diese Notiz ruhig ignorieren.

Lokale Medien wiedergeben

Lokale Medien können aus den folgenden Quellen wiedergegeben werden:

  • Eine in die Plattformanwendung eingebettete Ressource mit dem embed://-URI-Schema.
  • Dateien, die aus dem lokalen Dateisystem der App stammen, verwenden das filesystem://-URI-Schema.

Hinweis

Die Kurzform embed:// und filesystem:// funktioniert nur über XAML. Verwenden Sie im Code bitte MediaSource.FromResource() bzw. MediaSource.FromFile(). Mit diesen Methoden können Sie die Präfixe embed:// und filesystem:// weglassen. Der Rest des Pfads sollte identisch sein.

Wiedergeben von Medien, die in das App-Paket eingebettet sind

MediaElement kann mit dem embed://-URI-Schema Mediendateien wiedergeben, die in das App-Paket eingebettet sind. Mediendateien werden in das App-Paket eingebettet, indem sie im Plattformprojekt platziert werden.

Um eine Mediendatei für die Wiedergabe aus den lokalen Ressourcen zu aktivieren, fügen Sie die Datei dem Resources/Raw-Ordner ihres .NET MAUI-Projekts hinzu. Wenn eine Datei im Stamm hinzugefügt wird, lautet der URI embed://MyFile.mp4.

Sie können Dateien auch in Unterordnern platzieren. Wenn MyFile.mp4 in Resources/Raw/MyVideos wäre, dann wäre der URI, der mit MediaElement verwendet werden soll, embed://MyVideos/MyFile.mp4.

Ein Beispiel für die Verwendung dieser Syntax in XAML finden Sie unten.

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

Grundlegendes zu MediaSource-Typen

Ein MediaElement kann Medien wiedergeben, indem seine Source-Eigenschaft auf eine Remote- oder lokale Mediendatei festgelegt wird. Die Source-Eigenschaft ist vom Typ MediaSource, und diese Klasse definiert drei statische Methoden:

  • FromFile, gibt eine FileMediaSource-Instanz aus einem string-Argument zurück.
  • FromUri, gibt eine UriMediaSource-Instanz aus einem Uri-Argument zurück.
  • FromResource, gibt eine ResourceMediaSource-Instanz aus einem string-Argument zurück.

Darüber hinaus verfügt die MediaSource-Klasse auch über implizite Operatoren, die MediaSource-Instanzen von string- und Uri-Argumenten zurückgeben.

Hinweis

Wenn die Source-Eigenschaft in XAML festgelegt wird, wird ein Typkonverter aufgerufen, um eine MediaSource-Instanz von string oder Uri zurückzugeben.

Die MediaSource-Klasse verfügt auch über die folgenden abgeleiteten Klassen:

  • FileMediaSource wird verwendet, um eine lokale Mediendatei aus einer string festzulegen. Diese Klasse verfügt über eine Path-Eigenschaft, die auf eine string festgelegt werden kann. Darüber hinaus verfügt diese Klasse über implizite Operatoren zum Konvertieren von string in ein FileMediaSource-Objekt und eines FileMediaSource-Objekts in eine string.
  • UriMediaSource wird verwendet, um eine Remotemediendatei aus einem URI festzulegen. Diese Klasse verfügt über eine Uri-Eigenschaft, die auf eine Uri festgelegt werden kann.
  • ResourceMediaSource wird verwendet, um eine eingebettete Datei anzugeben, die über die Ressourcendateien der App bereitgestellt wird. Diese Klasse verfügt über eine Path-Eigenschaft, die auf eine string festgelegt werden kann.

Hinweis

Wenn ein FileMediaSource-Objekt in XAML erstellt wird, wird ein Typkonverter aufgerufen, um eine FileMediaSource-Instanz aus einer string zurückzugeben.

Ändern des Videoseitenverhältnisses

Die Aspect-Eigenschaft bestimmt, wie Videomedien skaliert werden, um den Anzeigebereich anzupassen. Standardmäßig ist diese Eigenschaft auf das AspectFit-Enumerationmsmember festgelegt, kann jedoch auf eines der Aspect-Enumerationsmember festgelegt werden:

  • AspectFit gibt an, dass das Video bei Bedarf in den Anzeigebereich passt, während das Seitenverhältnis beibehalten wird.
  • AspectFill gibt an, dass das Video abgeschnitten wird, sodass es den Anzeigebereich ausfüllt, während das Seitenverhältnis beibehalten wird.
  • Fill gibt an, dass das Video gestreckt wird, um den Anzeigebereich auszufüllen.

Ermitteln des MediaElement-Status

Die Klasse MediaElement definiert eine nur lesbare bindbare Eigenschaft namens CurrentState vom Typ MediaElementState. Diese Eigenschaft gibt den aktuellen Status des Steuerelements an, z. B. ob das Medium wiedergegeben oder angehalten wird oder ob es noch nicht zum Wiedergeben der Medien bereit ist.

Die MediaElementState-Enumeration definiert die folgenden Members:

  • None gibt an, dass das MediaElement keine Medien enthält.
  • Opening gibt an, dass das MediaElement überprüft wird und versucht, die angegebene Quelle zu laden.
  • Buffering gibt an, dass die MediaElement-Medien für die Wiedergabe geladen werden. Die Position-Eigenschaft wird während dieses Zustands nicht voranschreiten. Wenn das MediaElement das Video wiedergegeben hat, wird weiterhin der zuletzt angezeigte Frame angezeigt.
  • Playing gibt an, dass die MediaElement-Medienquelle wiedergegeben wird.
  • Paused gibt an, dass das MediaElement mit seiner Position-Eigenschaft nicht vorankommt. Wenn das MediaElement-Video wiedergegeben wurde, wird der aktuelle Frame weiterhin angezeigt.
  • Stopped gibt an, dass das MediaElement Medien enthält, aber nicht wiedergibt oder es angehalten wurde. Die Position-Eigenschaft wird auf 0 zurückgesetzt und wird nicht vorangestellt.
  • Failed gibt an, dass das MediaElement beim Laden oder Wiedergeben des Mediums fehlgeschlagen ist. Dies kann beim Versuch, ein neues Medienelement zu laden, das Medienelement wiederzugeben, oder wenn die Medienwiedergabe aufgrund eines Fehlers unterbrochen wird, auftreten. Verwenden Sie das MediaFailed-Ereignis, um weitere Details abzurufen.

Es ist im Allgemeinen nicht erforderlich, die CurrentState-Eigenschaft bei Verwendung der MediaElement-Transportsteuerelemente zu untersuchen. Diese Eigenschaft wird jedoch beim Implementieren ihrer eigenen Transportsteuerelemente wichtig.

Implementieren von benutzerdefinierten Transportsteuerelementen

Die Transportsteuerelemente eines Medienplayers umfassen die Schaltflächen für Funktionen wie Wiedergabe, Pause und Stopp. In der Regel werden diese Schaltflächen mit bekannten Symbolen anstelle von Text dargestellt, und die Funktionen Wiedergabe und Pause werden in eine Schaltfläche kombiniert.

Standardmäßig sind die MediaElement-Wiedergabesteuerelemente deaktiviert. Auf diese Weise können Sie die MediaElement programmgesteuert steuern oder eigene Transportsteuerelemente bereitstellen. Zur Unterstützung beinhaltet MediaElement die Play- Pause- und Stop-Methoden.

Das folgende XAML-Beispiel zeigt eine Seite, die ein MediaElement und benutzerdefinierte Transportsteuerelemente enthält:

<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 diesem Beispiel werden die benutzerdefinierten Transportsteuerelemente als Button-Objekte definiert. Es gibt jedoch nur zwei Button-Objekte, wobei das erste ButtonWiedergabe und Pause darstellt, und das zweite ButtonStop darstellt. DataTrigger-Objekte werden verwendet, um die Schaltflächen zu aktivieren und zu deaktivieren und die erste Schaltfläche zwischen Wiedergabe und Pause zu wechseln. Weitere Informationen zu Datentriggern finden Sie unter .NET MAUI Triggers.

Die CodeBehind-Datei verfügt über Handler für die Clicked-Ereignisse:

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();
}

Die Schaltfläche Wiedergabe kann gedrückt werden, sobald sie aktiviert ist, um mit der Wiedergabe zu beginnen. Durch Drücken der Schaltfläche Pause wird die Wiedergabe angehalten. Durch Drücken der Schaltfläche Stop wird die Wiedergabe beendet und die Position der Mediendatei an den Anfang zurückgesetzt.

Implementieren einer benutzerdefinierten Lautstärkeregelung

Die von jeder Plattform implementierten Steuerelemente für die Medienwiedergabe enthalten eine Lautstärkeleiste. Diese Leiste ähnelt einem Schieberegler und zeigt die Lautstärke der Medien an. Darüber hinaus können Sie die Lautstärkeleiste regeln, um die Lautstärke zu erhöhen oder zu verringern.

Eine benutzerdefinierte Lautstärkeleiste kann mit einem Slider, wie im folgenden Beispiel gezeigt, implementiert werden:

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

In diesem Beispiel binden die Slider-Daten ihre Value-Eigenschaft an die Volume-Eigenschaft der MediaElement. Dies ist möglich, da die Volume-Eigenschaft eine TwoWay-Bindung verwendet. Daher führt das Ändern der Value-Eigenschaft zu einer Änderung der Volume-Eigenschaft.

Hinweis

Die Volume-Eigenschaft verfügt über einen Überprüfungsrückruf, der sicherstellt, dass der Wert größer oder gleich 0,0 und kleiner als oder gleich 1,0 ist.

Weitere Informationen zur Verwendung eines Slider, siehe .NET MAUI-Schiebereglers

Bereinigen von MediaElement-Ressourcen

Um Speicherverluste zu verhindern, müssen Sie die Ressourcen von MediaElement freimachen. Dies kann durch Trennen des Handlers erfolgen. Wo Sie dies tun müssen, hängt davon ab, wo und wie Sie MediaElement in Ihrer App verwenden, aber in der Regel, wenn Sie über MediaElement auf einer einzelnen Seite verfügen und keine Medien im Hintergrund spielen, sollten Sie die Ressourcen freigeben, wenn der Benutzer von der Seite wegnavigiert.

Unten finden Sie einen Codeausschnitt mit Beispielcode, der zeigt, wie Sie dies tun können. Stellen Sie zunächst sicher, dass Sie das Unloaded-Ereignis auf Ihrer Seite verbinden.

<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>

Rufen Sie dann im CodeBehind die Methode auf, um den Handler zu trennen.

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

Weitere Informationen zu Handlern finden Sie in der .NET MAUI-Dokumentation zu Handlern.

Eigenschaften

Eigenschaft Typ BESCHREIBUNG Standardwert
Aspekt Aspekt Bestimmt den Skalierungsmodus für die derzeit geladenen (visuellen) Medien. Dies ist eine bindbare Eigenschaft. Aspect.AspectFit
CurrentState MediaElementState Gibt den aktuellen Status des Steuerelements an. Diese bindbare Eigenschaft ist schreibgeschützt. MediaElementState.None
Duration TimeSpan Gibt die Dauer des aktuell geöffneten Mediums an. Diese bindbare Eigenschaft ist schreibgeschützt. TimeSpan.Zero
Position TimeSpan Beschreibt den aktuellen Fortschritt durch die Wiedergabezeit der Medien. Diese bindbare Eigenschaft ist schreibgeschützt. Verwenden Sie die Position-Methode, wenn Sie das SeekTo() festlegen möchten. TimeSpan.Zero
ShouldAutoPlay bool Gibt an, ob die Medienwiedergabe automatisch beginnt, wenn die Source-Eigenschaft festgelegt wird. Dies ist eine bindbare Eigenschaft. false
ShouldLoopPlayback bool Beschreibt, ob die aktuell geladene Medienquelle die Wiedergabe von Anfang an fortsetzen soll, nachdem das Ende erreicht wurde. Dies ist eine bindbare Eigenschaft. false
ShouldKeepScreenOn bool Bestimmt, ob der Gerätebildschirm während der Medienwiedergabe eingeschaltet bleiben soll. Dies ist eine bindbare Eigenschaft. false
ShouldMute bool Bestimmt, ob die Audiowiedergabe derzeit stummgeschaltet ist. Dies ist eine bindbare Eigenschaft. false
ShouldShowPlaybackControls bool Bestimmt, ob die Steuerelemente für die Plattformwiedergabe angezeigt werden. Dies ist eine bindbare Eigenschaft. Beachten Sie, dass unter iOS und Windows die Steuerelemente nur für einen kurzen Zeitraum nach der Interaktion mit dem Bildschirm angezeigt werden. Es gibt keine Möglichkeit, die Steuerelemente durchgehend sichtbar zu machen. true
Quelle MediaSource? Die Quelle des in das Steuerelement geladenen Mediums. null
Geschwindigkeit double Bestimmt die Wiedergabegeschwindigkeit der Medien. Dies ist eine bindbare Eigenschaft 1
MediaHeight int Die Höhe des geladenen Mediums in Pixel. Diese bindbare Eigenschaft ist schreibgeschützt. Nicht für nicht-visuelle Medien gemeldet und möglicherweise nicht immer für live gestreamte Inhalte unter iOS/macOS aufgefüllt 0
MediaWidth int Die Breite des geladenen Mediums in Pixeln. Diese bindbare Eigenschaft ist schreibgeschützt. Nicht für nicht-visuelle Medien gemeldet und möglicherweise nicht immer für live gestreamte Inhalte unter iOS/macOS aufgefüllt 0
Volumen double Bestimmt die Medienlautstärke, die auf einer linearen Skala zwischen 0 und 1 dargestellt wird. Dies ist eine bindbare Eigenschaft. 1

Ereignisse

Event BESCHREIBUNG
MediaOpened Tritt auf, wenn der Mediendatenstrom überprüft und geöffnet wurde.
MediaEnded Tritt auf, wenn die Wiedergabe der Medien von MediaElement abgeschlossen ist.
MediaFailed Tritt auf, wenn es einen Fehler in Verbindung mit der Medienquelle gibt.
PositionChanged Tritt ein, wenn der Position-Eigenschaftswert geändert wurde.
SeekCompleted Tritt auf, wenn der Suchpunkt eines angeforderten Suchvorgangs für die Wiedergabe bereit ist.

Methoden

Event BESCHREIBUNG
Play Startet die Wiedergabe des geladenen Mediums.
Anhalten Hält die Wiedergabe der aktuellen Medien an.
Beenden Beendet die Wiedergabe und setzt die Position des aktuellen Mediums zurück.
SeekTo Verwendet einen TimeSpan-Wert zum Festlegen der Position-Eigenschaft und verwendet einen CancellationToken, um Task zu beenden.

Beispiele

Beispiele für dieses Steuerelement finden Sie in der .NET MAUI Community Toolkit-Beispielanwendung.

API

Sie finden den Quellcode für MediaElement über das GitHub-Repository für das .NET MAUI Community Toolkit.