SystemMediaTransportControls Class

Stellt ein Objekt dar, das die Integration mit den Systemsteuerelementen des Medientransports und Unterstützung für Medienbefehle ermöglicht.

Syntax


var systemMediaTransportControls = Windows.Media.SystemMediaTransportControls;

Attribute

[MarshalingBehavior(Agile)]
[Muse()]
[Threading(MTA)]
[Version(0x06030000)]

Member

SystemMediaTransportControlsKlasse hat diese Membertypen:

Ereignisse

SystemMediaTransportControlsKlasse hat diese Ereignisse.

EreignisBeschreibung
ButtonPressed Occurs when a button is pressed on the SystemMediaTransportControls.
PropertyChanged Occurs when a property on the SystemMediaTransportControls has changed.

 

Methoden

The SystemMediaTransportControls Klasse hat diese Methoden. Mit C#, Visual Basic und C++ erbt es auch Methoden aus Object Klasse.

MethodeBeschreibung
GetForCurrentView The system transport controls for the current view.

 

Eigenschaften

Der SystemMediaTransportControlsKlasse hat diese Eigenschaften.

EigenschaftZugriffstypBeschreibung

DisplayUpdater

SchreibgeschütztGets the display updater for the SystemMediaTransportControls which enable updating the information displayed about the currently playing song.

IsChannelDownEnabled

Lese-/SchreibzugriffGets or sets a value that specifies if the channel down button is supported.

IsChannelUpEnabled

Lese-/SchreibzugriffGets or sets a value that specifies if the channel up button is supported.

IsEnabled

Lese-/SchreibzugriffEnables and disables the system media transport controls for the app.

IsFastForwardEnabled

Lese-/SchreibzugriffGets or sets a value that specifies if the fast forward button is supported.

IsNextEnabled

Lese-/SchreibzugriffGets or sets a value that specifies if the next button is supported.

IsPauseEnabled

Lese-/SchreibzugriffGets or sets a value that specifies if the pause button is supported.

IsPlayEnabled

Lese-/SchreibzugriffGets or sets a value that specifies if the play button is supported.

IsPreviousEnabled

Lese-/SchreibzugriffGets or sets a value that specifies if the previous button is supported.

IsRecordEnabled

Lese-/SchreibzugriffGets or sets a value that specifies if the record button is supported.

IsRewindEnabled

Lese-/SchreibzugriffGets or sets a value that specifies if the rewind button is supported.

IsStopEnabled

Lese-/SchreibzugriffGets or sets a value that specifies if the stop button is supported.

PlaybackStatus

Lese-/SchreibzugriffGets the playback status of the media.

SoundLevel

SchreibgeschütztGets the sound level of the media for the capture and render streams.

 

Hinweise

Die SystemMediaTransportControls-Klasse ersetzt die MediaControl-Klasse. In Windows 8.1 und höher sollten Sie dieses Steuerelement anstelle von MediaControl verwenden, um mit den Systemtransportsteuerelementen zu interagieren.

Die Systemtransportsteuerelemente ermöglicht Musikanwendungsentwicklern, sich in ein systemweites Transportsteuerelement einzubinden. Das Systemtransportsteuerelement ermöglicht dem Benutzer, eines Musikanwendung zu steuern, die im Hintergrund läuft, und die aktuellen Informationen zum wiedergegebenen Titel abzurufen und festzulegen.

Rufen Sie GetForCurrentView auf, um eine Instanz von SystemMediaTransportControls für die aktuelle Ansicht abzurufen. Es gibt eine Wiedergabesitzung pro Ansicht. Apps, die mehrere Fenster unterstützen, können mehrere Playbacksitzungen haben, sofern die Regel von 1 Ansicht zu 1 Playbackerfahrung beibehalten wird.

Registrieren Sie einen Handler, damit das ButtonPressed-Ereignis die Steuerelementschaltflächenereignisse für den Systemtransport mit der App integriert. Außerdem müssen Sie eine Unterstützung für die einzelnen Transportsteuerelement-Schaltflächen wie SystemMediaTransportControls.IsPlayEnabled aktivieren, um das Spielereignis zu bearbeiten.

Um das Wiedergeben von Musik im Hintergrund bei angehaltener App zu unterstützen, müssen Sie die Unterstützung für die Schaltflächen für Wiedergabe und Pause aktivieren, indem Sie IsPlayEnabled und IsPauseEnabled auf true festlegen. Weitere Informationen und Anforderungen finden Sie unter Audiowiedergabe im Hintergrund.

Musik- und Medienerfassungs-Apps sollten das SoundLevel überwachen, um zu bestimmen, ob die Audiostreams auf der App Muted wurden. Für Apps, die das MediaCapture-Objekt verwenden, wird die Erfassung automatisch beendet, wenn die Erfassungsstreams der App stumm geschaltet werden. Die Erfassung wird nicht automatisch neu gestartet, wenn bei den Audiostreams die Stummschaltung aufgehoben wird. Daher kann die geänderte SoundLevel-Benachrichtigung verwendet werden, um die Erfassung neu zu starten. Verwenden Sie das PropertyChanged-Ereignis, um zu bestimmen, wann die SoundLevel-Eigenschaft geändert wird.

Weitere Informationen finden Sie unter Verwenden der Systemsteuerelemente für den Medientransport.

Beispiele

Im Folgenden ein Code, der einen ButtonPressed-Ereignishandler und Hilfsmethoden erstellt, um ein MediaElement wiederzugeben und anzuhalten. Beachten Sie, dass Aufrufe von Play und Pause zum UI-Thread von CoreDispatcher mit Dispatcher.RunAsync gemarshallt werden.


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



void SystemControls_ButtonPressed(SystemMediaTransportControls sender, 
    SystemMediaTransportControlsButtonPressedEventArgs args)
{
    switch (args.Button)
    {
        case SystemMediaTransportControlsButton.Play:
            PlayMedia();
            break;
        case SystemMediaTransportControlsButton.Pause:
            PauseMedia();
            break;
        default:
            break;
    }
}

async void PlayMedia()
{
    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
    {
        musicPlayer.Play();
    });
}

async void PauseMedia()
{
    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
    {
        musicPlayer.Pause();
    });
}


Dies ist der Code, der den Ereignishandler CurrentStateChanged behandelt und den SystemMediaTransportControls-Zustand aktualisiert.


void MusicPlayer_CurrentStateChanged(object sender, RoutedEventArgs e)
{
    switch (musicPlayer.CurrentState)
    {
        case MediaElementState.Playing:
            systemControls.PlaybackStatus = MediaPlaybackStatus.Playing;
            break;
        case MediaElementState.Paused:
            systemControls.PlaybackStatus = MediaPlaybackStatus.Paused;
            break;
        case MediaElementState.Stopped:
            systemControls.PlaybackStatus = MediaPlaybackStatus.Stopped;
            break;
        case MediaElementState.Closed:
            systemControls.PlaybackStatus = MediaPlaybackStatus.Closed;
            break;
        default:
            break;
    }
}


Anforderungen

Mindestens unterstützter Client

Windows 8.1 [Nur Windows Store-Apps]

Mindestens unterstützter Server

Windows Server 2012 R2 [Nur Windows Store-Apps]

Namespace

Windows.Media
Windows::Media [C++]

Metadaten

Windows.winmd

Siehe auch

Object

 

 

Anzeigen:
© 2014 Microsoft