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:
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 false
deaktiviert 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 eineFileMediaSource
-Instanz aus einemstring
-Argument zurück.FromUri
, gibt eineUriMediaSource
-Instanz aus einemUri
-Argument zurück.FromResource
, gibt eineResourceMediaSource
-Instanz aus einemstring
-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 einerstring
festzulegen. Diese Klasse verfügt über einePath
-Eigenschaft, die auf einestring
festgelegt werden kann. Darüber hinaus verfügt diese Klasse über implizite Operatoren zum Konvertieren vonstring
in einFileMediaSource
-Objekt und einesFileMediaSource
-Objekts in einestring
.UriMediaSource
wird verwendet, um eine Remotemediendatei aus einem URI festzulegen. Diese Klasse verfügt über eineUri
-Eigenschaft, die auf eineUri
festgelegt werden kann.ResourceMediaSource
wird verwendet, um eine eingebettete Datei anzugeben, die über die Ressourcendateien der App bereitgestellt wird. Diese Klasse verfügt über einePath
-Eigenschaft, die auf einestring
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 dasMediaElement
keine Medien enthält.Opening
gibt an, dass dasMediaElement
überprüft wird und versucht, die angegebene Quelle zu laden.Buffering
gibt an, dass dieMediaElement
-Medien für die Wiedergabe geladen werden. DiePosition
-Eigenschaft wird während dieses Zustands nicht voranschreiten. Wenn dasMediaElement
das Video wiedergegeben hat, wird weiterhin der zuletzt angezeigte Frame angezeigt.Playing
gibt an, dass dieMediaElement
-Medienquelle wiedergegeben wird.Paused
gibt an, dass dasMediaElement
mit seinerPosition
-Eigenschaft nicht vorankommt. Wenn dasMediaElement
-Video wiedergegeben wurde, wird der aktuelle Frame weiterhin angezeigt.Stopped
gibt an, dass dasMediaElement
Medien enthält, aber nicht wiedergibt oder es angehalten wurde. DiePosition
-Eigenschaft wird auf 0 zurückgesetzt und wird nicht vorangestellt.Failed
gibt an, dass dasMediaElement
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 dasMediaFailed
-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 Button
Wiedergabe und Pause darstellt, und das zweite Button
Stop 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.
Verwandte Links
.NET MAUI Community Toolkit