Windows Dev Center

SystemMediaTransportControls Class

Rappresenta un oggetto che consente l'integrazione con i controlli di trasporto degli elementi multimediali del sistema e il supporto per i comandi multimediali.

Sintassi


var systemMediaTransportControls = Windows.Media.SystemMediaTransportControls;

Attributi

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

Membri

SystemMediaTransportControlsClasse include questi tipi di membri:

Eventi

SystemMediaTransportControlsClasse include questi eventi.

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

 

Metodi

The SystemMediaTransportControls Classe dispone di tali metodi. In C#, Visual Basic e C++, eredita inoltre i metodi da Object Classe.

MetodoDescrizione
GetForCurrentView The system transport controls for the current view.

 

Proprietà

Classe dispone di tali proprietà. di SystemMediaTransportControls

ProprietàTipo di accessoDescrizione

DisplayUpdater

Sola letturaGets the display updater for the SystemMediaTransportControls which enable updating the information displayed about the currently playing song.

IsChannelDownEnabled

Lettura/scritturaGets or sets a value that specifies if the channel down button is supported.

IsChannelUpEnabled

Lettura/scritturaGets or sets a value that specifies if the channel up button is supported.

IsEnabled

Lettura/scritturaEnables and disables the system media transport controls for the app.

IsFastForwardEnabled

Lettura/scritturaGets or sets a value that specifies if the fast forward button is supported.

IsNextEnabled

Lettura/scritturaGets or sets a value that specifies if the next button is supported.

IsPauseEnabled

Lettura/scritturaGets or sets a value that specifies if the pause button is supported.

IsPlayEnabled

Lettura/scritturaGets or sets a value that specifies if the play button is supported.

IsPreviousEnabled

Lettura/scritturaGets or sets a value that specifies if the previous button is supported.

IsRecordEnabled

Lettura/scritturaGets or sets a value that specifies if the record button is supported.

IsRewindEnabled

Lettura/scritturaGets or sets a value that specifies if the rewind button is supported.

IsStopEnabled

Lettura/scritturaGets or sets a value that specifies if the stop button is supported.

PlaybackStatus

Lettura/scritturaGets the playback status of the media.

SoundLevel

Sola letturaGets the sound level of the media for the capture and render streams.

 

Note

SystemMediaTransportControls sostituisce la classe MediaControl. In Windows 8.1 e versioni successive, è consigliabile utilizzare questo controllo anziché MediaControl per interagire con i controlli di trasporto del sistema.

I controlli di trasporto di sistema consentono agli sviluppatori di applicazioni musicali di collegarsi a un controllo di trasporto a livello di sistema. Il controllo di trasporto di sistema consente a un utente di controllare un'applicazione musicale in background nonché ottenere e impostare le informazioni correnti sulla traccia che viene riprodotta.

Chiamare il metodo GetForCurrentView per ottenere un'istanza della classe SystemMediaTransportControls per la visualizzazione corrente. Esiste una sessione di riproduzione per visualizzazione. Le applicazioni che supportano più finestre possono disporre di più sessioni di riproduzione purché tramite esse venga gestita la regola di 1 visualizzazione in 1 esperienza di riproduzione.

Registrare un gestore per l'evento ButtonPressed per integrare gli eventi del pulsante di controllo del trasporto del sistema con l'app. Inoltre, è necessario abilitare il supporto per i singoli pulsanti di controllo del trasporto, ad esempio SystemMediaTransportControls.IsPlayEnabled per gestire l'evento di riproduzione.

Per supportare la riproduzione di musica in background quando l'applicazione è stata sospesa, è necessario abilitare il supporto per i pulsanti Riproduci e Sospendi impostando IsPlayEnabled e IsPauseEnabled su true. Per ulteriori informazioni e requisiti, vedere Come riprodurre file audio in background.

Le applicazioni di acquisizione multimediale e musicale devono monitorare SoundLevel per determinare se i flussi audio nell'applicazione sono impostati come Muted. Per le applicazioni che utilizzano l'oggetto MediaCapture, l'acquisizione verrà arrestata automaticamente quando i flussi di acquisizione dell'applicazione sono disattivati. L'acquisizione non viene riavviata automaticamente quando l'audio dei flussi audio è disattivato, pertanto può essere utilizzata la notifica della proprietà SoundLevel modificata per il riavvio dell'acquisizione. Utilizzare l’evento PropertyChanged per determinare quando la proprietà SoundLevel cambia.

Per ulteriori informazioni, vedere Come utilizzare i controlli di trasporto degli elementi multimediali del sistema.

Esempi

Di seguito è riportato il codice che crea un gestore di eventi ButtonPressed e i metodi helper per riprodurre e sospendere un oggetto MediaElement. Avvisa che per le chiamate a Play e a Pause viene eseguito il marshalling al thread UI tramite l'oggetto CoreDispatcher utilizzando Dispatcher.RunAsync.


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


Di seguito è riportato il codice che gestisce il gestore di eventi CurrentStateChanged e aggiorna lo stato di SystemMediaTransportControls.


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


Requisiti

Client supportato minimo

Windows 8.1 [Solo applicazioni Windows Store]

Server supportato minimo

Windows Server 2012 R2 [Solo applicazioni Windows Store]

Spazio dei nomi

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

Metadati

Windows.winmd

Vedere anche

Object

 

 

Mostra:
© 2015 Microsoft