Schnellstart: Video und Audio
Language: HTML | XAML

Schnellstart: Video und Audio (XAML)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation ]

Geben Sie Audio- und Videomedien in Ihrer Windows-Runtime-App mit C++, C# oder Visual Basic mithilfe von MediaElement wieder.

Roadmap: Wie hängt dieses Thema mit anderen zusammen? Siehe:

Einführung

Verwenden Sie für die Wiedergabe von Audio- und Videomedien in einer Windows-Runtime-App mit C++, C# oder Visual Basic die MediaElement-Klasse. MediaElement stellt zahlreiche Eigenschaften und Methoden zum Steuern der Audio- und Videowiedergabe bereit. In diesem Thema erläutern wir die Grundlagen zum Erstellen und Verwenden von MediaElement.

Windows 8.1 bietet integrierte Transportsteuerelemente für das MediaElement. Sie behandeln Wiedergabe, Beenden, Anhalten, Lautstärke, Stummschalten, Suche/Status und Audiotitelauswahl. Um diese Steuerelemente zu aktivieren, legen Sie AreTransportControlsEnabled auf true fest. Um sie zu deaktivieren, legen Sie AreTransportControlsEnabled auf false fest.

In Windows 8.1 wird eine IsFullWindow-Eigenschaft zum Aktivieren und Deaktivieren des Renderings im Vollbildmodus eingeführt. Dadurch wird sichergestellt, dass beim Wechsel zum Rendering im Vollbildmodus Systemoptimierungen aktiviert werden. In Windows 8.1 und höher sollten Sie immer die IsFullWindow-Eigenschaft verwenden, um das Rendering im Vollbildmodus zu aktivieren und zu deaktivieren.

Vor Windows 8.1 war der Entwickler für das Erstellen benutzerdefinierter UI zum Steuern der Audio- und Videowiedergabe verantwortlich. Beispiel: Zum Starten der Medien in Ihrer App können Sie ein Button-Element erstellen und Play im Button-Ereignishandler aufrufen. Obwohl in Windows 8.1 integrierte Transportsteuerelemente eingeführt wurden, müssen Sie vielleicht dennoch hin und wieder benutzerdefinierte UI erstellen, um zusätzliche Funktionen zu unterstützen. Oder Sie möchten vielleicht die integrierten Steuerelemente durch eigene ersetzen. Ausführliche Informationen zum Erstellen benutzerdefinierter Transportsteuerelemente finden Sie unter So wird's gemacht: Erstellen benutzerdefinierter Medientransportsteuerelemente.

Grundlagen zu MediaElement

Erstellen Sie zum Hinzufügen von Medien zu Ihrer App ein MediaElement-Objekt in XAML, und legen Sie für Source einen Uniform Resource Identifier (URI) fest, der auf eine Audio- oder Videodatei verweist.

Der folgende Code erstellt ein MediaElement-Objekt und legt dessen Source-Eigenschaft auf den URI einer Videodatei fest. Die Wiedergabe des MediaElement-Objekts beginnt, wenn die Seite geladen wird. Um zu verhindern, dass die Medienwiedergabe sofort beginnt, können Sie die AutoPlay-Eigenschaft auf false festlegen.


<MediaElement x:Name="mediaSimple" 
              Source="Videos/video1.mp4" 
              Width="400" AutoPlay="False"/>


Der folgende Code erstellt ein MediaElement-Objekt mit aktivierten integrierten Transportsteuerelementen und auf false. festgelegter AutoPlay-Eigenschaft.


<MediaElement x:Name="mediaPlayer" 
              Source="Videos/video1.mp4" 
              Width="400" 
              AutoPlay="False"
              AreTransportControlsEnabled="True" />


Arbeiten mit MediaElement-Eigenschaften

Das MediaElement-Objekt verfügt über einige spezielle Medieneigenschaften. Hier sind einige gängige Eigenschaften aufgeführt. Eine vollständige Liste der Eigenschaften, Methoden und Ereignisse finden Sie auf der Referenzseite zu MediaElement.

EigenschaftBeschreibung
AutoPlay Gibt an, ob die Wiedergabe des MediaElement-Objekts automatisch beginnen soll. Der Standardwert lautet true.
IsMuted Gibt an, ob die Stummschaltung aktiviert ist. Der Standardwert lautet false.
IsFullWindow

Eingeführt in Windows 8.1.

Aktiviert und deaktiviert das Rendering im Vollfenstermodus. Sie sollten immer die IsFullWindow-Eigenschaft verwenden, um das Rendering im Vollfenstermodus zu aktivieren und zu deaktivieren. Dadurch wird sichergestellt, dass Systemoptimierungen aktiviert werden.

AreTransportControlsEnabled

Eingeführt in Windows 8.1.

Aktiviert und deaktiviert die integrierten Transportsteuerelemente.

Volume Gibt die Audiolautstärke in einem Bereich von 0 bis 1 an. 1 ist die höchste Lautstärke.
Balance Gibt das Verhältnis der Lautstärke der Stereolautsprecher in einem Bereich von -1 bis 1 an. Der Standardwert ist 0.
CurrentState Gibt den aktuellen Status des MediaElement-Objekts an.
IsAudioOnly Gibt an, ob die aktuelle Medienquelle auf Audiomedien beschränkt ist.
IsLooping Gibt an, ob für die aktuelle Mediendatei der erneute Start festgelegt ist, wenn das Ende der Mediendatei erreicht wurde.
NaturalDuration Gibt die Dauer der derzeit geöffneten Mediendatei an.
Position Gibt die aktuelle Wiedergabeposition an. Sie können einen anderen Punkt auf der Medienzeitachse suchen, indem Sie Position auf einen speziellen Punkt auf der Zeitachse festlegen.
PosterSource Gibt die Bildquelle an, die für ein Platzhalterbild verwendet wird, während die Mediendatei geladen wird.
Source Gibt den Quell-URI der Audio- oder Videodatei an.
AudioStreamCount Gibt die Anzahl der in der aktuellen Mediendatei vorhandenen Audiodatenströme an.
AudioStreamIndex Gibt den Audiodatenstrom an, der zusammen mit der Videokomponente wiedergegeben wird.
Stretch

Eingeführt in Windows 8.1.

Die MediaElement.Stretch-Eigenschaft definiert, wie das MediaElement-Objekt den Container füllt, in dem es sich befindet. Die Stretch-Zustände sind mit den Bildformateinstellungen bei vielen Fernsehern vergleichbar. Sie können dieses Verhalten mit einer Schaltfläche verknüpfen und dem Benutzer die Auswahl der gewünschten Einstellung ermöglichen.

  • None zeigt den Inhalt mit der systemeigenen Auflösung in seiner Originalgröße an.
  • Uniform füllt unter Beibehaltung des Seitenverhältnisses und des Bildinhalts den größtmöglichen Platz aus. Dies kann zu horizontalen oder vertikalen Balken an den Rändern des Videos führen. Dieser Zustand ist mit Breitbildmodi vergleichbar.
  • UniformToFill füllt den gesamten Platz unter Beibehaltung des Seitenverhältnisses aus. Dies kann dazu führen, dass ein Teil des Bilds abgeschnitten wird. Dieser Zustand ist mit Vollbildmodi vergleichbar.
  • Fill füllt den gesamten Platz aus, ohne das Seitenverhältnis beizubehalten. Das Bild wird nicht zugeschnitten, kann aber gestreckt werden. Dieser Zustand ist mit Streckmodi vergleichbar.
Stretch-Enumerationswerte

 

Steuern der Medienwiedergabe

Windows 8.1 bietet integrierte Transportsteuerelemente zum Steuern der Medienwiedergabe. Um die integrierten Transportsteuerelemente zu aktivieren, legen Sie AreTransportControlsEnabled auf true fest. Dies ist die einfachste Methode zum Steuern der MediaElement-Wiedergabe. Wenn Sie jedoch eigene UI zum Steuern der Wiedergabe hinzufügen möchten, erläutern diese Abschnitte, wie Sie manuell die Wiedergabemethoden des MediaElement-Objekts bearbeiten. Damit können Sie Unterstützung für nicht in den integrierten Steuerelementen vorhandene Features hinzufügen oder die integrierten Steuerelemente durch eigene benutzerdefinierte Steuerelemente ersetzen.

Das MediaElement-Objekt verfügt über einige medienspezifische Methoden zum Steuern der Medienwiedergabe. Hier sind einige gängige Methoden aufgeführt. Eine vollständige Liste finden Sie auf der Referenzseite zu MediaElement.

MethodeBeschreibung
Play Gibt eine Mediendatei bei der aktuellen Position wieder.
Pause Hält eine Mediendatei an der aktuellen Position an.
Stop Hält die Mediendatei an und setzt die Position der Mediendatei auf "0" zurück.
SetSource Legt die Source-Eigenschaft mit dem bereitgestellten Datenstrom fest.

 

Das MediaElement-Objekt verfügt über einige spezielle Medienereignisse. Hier sind einige gängige Ereignisse aufgeführt. Eine vollständige Liste finden Sie auf der Referenzseite zu MediaElement.

MethodeBeschreibung
MediaOpened Tritt auf, wenn der Mediendatenstrom überprüft und geöffnet wurde und die Dateiheader gelesen wurden.
MediaEnded Tritt auf, wenn das MediaElement-Objekt die Audio- oder Videowiedergabe beendet.
MediaFailed Tritt auf, wenn ein Fehler in Bezug auf das Source-Objekt der Mediendatei vorliegt.
CurrentStateChange Tritt auf, wenn sich der Wert der CurrentState-Eigenschaft ändert.

 

Der folgende Code erstellt ein MediaElement-Objekt und eine Anzahl von Button-Objekten zum Steuern der Medienwiedergabe. Das MediaElement-Objekt lauscht auf das MediaOpened-, das MediaEnded- und das MediaFailed-Ereignis. Darüber hinaus erstellt es UI zum Behandeln von Play, Stop und Pause.


<StackPanel HorizontalAlignment="Center">
    <MediaElement x:Name="media" 
                  Source="Videos/Video1.mp4" 
                  Width="300"
                  AreTransportControlsEnabled="False"
                  MediaFailed="Media_MediaFailed"
                  MediaOpened="Media_MediaOpened"
                  MediaEnded="Media_MediaEnded" />
    
    <StackPanel Orientation="Horizontal"
                HorizontalAlignment="Center">
        
        <Button Content="Play" Click="Play_Click"/>
        <Button Content="Pause" Click="Pause_Click"/>
        <Button Content="Stop" Click="Stop_Click" />
        
    </StackPanel>
</StackPanel>



void Play_Click(object sender, RoutedEventArgs e)
{
    media.Play();
}

void Pause_Click(object sender, RoutedEventArgs e)
{
    if (media.CanPause)
    {
        media.Pause();
    }
}

void Stop_Click(object sender, RoutedEventArgs e)
{
    media.Stop();
}

void Media_MediaFailed(object sender, ExceptionRoutedEventArgs e)
{
    // Handle failed media event
}

void Media_MediaOpened(object sender, RoutedEventArgs e)
{
    // Handle open media event
}

void Media_MediaEnded(object sender, RoutedEventArgs e)
{
    // Handle media ended event
}


Hinweis  Sie können Medien stoppen, anhalten oder wiedergeben und auch nach einer bestimmten Position suchen, indem Sie die Position-Eigenschaft eines MediaElement-Objekts festlegen.
 

Festlegen der Medienquelle

Sie können die Quelle des MediaElement-Objekts entweder mit der Source-Eigenschaft oder der SetSource-Methode festlegen.

Der Source-Eigenschaftstyp ist Uri. Legen Sie zum Ändern der Quellmediendatei für Source einen Uri fest, der den Pfad zur Datei enthält.

Die SetSource-Methode verwendet ein IRandomAccessStream-Objekt, das die Medienquelle darstellt, und den MIME-Typ der Mediendatei. Mit dem FileOpenPicker-Element kann auf einfache Weise ein Datenstromobjekt für eine Datei im lokalen Dateisystem oder auf Microsoft OneDrive abgerufen werden. Weitere Informationen zum Verwenden des FileOpenPicker-Steuerelements finden Sie unter So wird's gemacht: Öffnen von Mediendateien mit dem FileOpenPicker-Steuerelement.

Um Dateien im Internet oder in der App eingebettete Dateien zu öffnen, legen Sie die Source-Eigenschaft auf den Uri einer Mediendatei fest. Es empfiehlt sich, den Code zum Festlegen der Quelle in einen try/catch-Block einzuschließen. Weitere Informationen zum Öffnen von Mediendateien über das Netzwerk finden Sie unter So wird's gemacht: Wiedergeben von Mediendateien im Netzwerk.

Verhindern, das der Bildschirm abgeblendet wird

Um zu verhindern, dass das Display deaktiviert wird, wenn keine Benutzeraktion mehr festgestellt werden kann, beispielsweise beim Wiedergeben eines Videos in einer App im Vollbild, können Sie DisplayRequest.RequestActive aufrufen.

Um Energie zu sparen und den Akku zu schonen, wird empfohlen, DisplayRequest.RequestRelease aufzurufen und die Displayanforderung freizugeben, wenn diese nicht mehr benötigt wird, z. B. wenn die Mediendatei angehalten oder beendet wird, die Mediendatei endet oder die App angehalten wird.

Weitere Informationen finden Sie unter Beispiel zum Displayenergiestatus und So wird's gemacht: Display während der Audio-/Videowiedergabe eingeschaltet lassen.

"Wiedergeben auf" (PlayTo) und Medien

Verwenden Sie "Wiedergeben auf", um auf einfache Weise Audio, Video oder Bilder vom Computer auf Geräte im Heimnetzwerk zu streamen. Weitere Informationen zum Aktivieren von "Wiedergeben auf" in Ihrer Windows Store-App mit C++, C# oder Visual Basic finden Sie unter Schnellstart: Verwenden von "Wiedergeben auf" in Anwendungen.

Unterstützte Medienformate

Informationen zu unterstützten Audio- und Videomedienformaten in Windows Store-Apps finden Sie unter Unterstützte Audio- und Videoformate.

Verwandte Themen

Roadmaps
Roadmap für Windows-Runtime-Apps mit C# und Visual Basic
Roadmap für Windows-Runtime-Apps mit C++
UX-Design für Apps
Hinzufügen von Multimediainhalten
Beispiele
Beispiel für die XAML-Medienwiedergabe
Beispiel zum Transcodieren von Medien
Beispiel für Medienaufzeichnungen
Beispiel für Energiezustand der Anzeige
Medienwiedergabe von A bis Z
Aufgaben
So wird's gemacht: Erstellen benutzerdefinierter Medientransportsteuerelemente
So wird's gemacht: Öffnen von Mediendateien mit dem FileOpenPicker-Steuerelement
So wird's gemacht: Auswählen von Audiospuren in verschiedenen Sprachen
So wird's gemacht: Öffnen von Mediendateien über das Netzwerk
So wird's gemacht: Verwenden der Systemsteuerelemente für den Medientransport
So wird's gemacht: Ändern der Größe und Strecken von Videos
So wird's gemacht: Wiedergeben von Audio im Hintergrund
Referenz
MediaElement
Play
PlaybackRate
IValueConverter
AudioStreamIndex
Weitere Ressourcen
Unterstützte Audio- und Videoformate
Optimieren von Medienressourcen

 

 

Anzeigen:
© 2018 Microsoft