SystemMediaTransportControls Class

시스템 미디어 전송 컨트롤과의 통합 및 미디어 명령을 지원하는 개체를 나타냅니다.

구문


var systemMediaTransportControls = Windows.Media.SystemMediaTransportControls;

특성

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

멤버

SystemMediaTransportControls클래스에는 다음과 같은 형식의 멤버가 있습니다.

이벤트

SystemMediaTransportControls클래스에는 다음과 같은 이벤트가 있습니다.

이벤트Description
ButtonPressed Occurs when a button is pressed on the SystemMediaTransportControls.
PropertyChanged Occurs when a property on the SystemMediaTransportControls has changed.

 

메서드

The SystemMediaTransportControls 클래스 - 이러한 메서드가 있습니다. C#, Visual Basic 및 C++에서는 다음 위치의 메서드도 상속합니다. Object 클래스.

메서드Description
GetForCurrentView The system transport controls for the current view.

 

속성

SystemMediaTransportControls클래스 - 이러한 속성이 있습니다.

속성사용 권한Description

DisplayUpdater

읽기 전용Gets the display updater for the SystemMediaTransportControls which enable updating the information displayed about the currently playing song.

IsChannelDownEnabled

읽기/쓰기Gets or sets a value that specifies if the channel down button is supported.

IsChannelUpEnabled

읽기/쓰기Gets or sets a value that specifies if the channel up button is supported.

IsEnabled

읽기/쓰기Enables and disables the system media transport controls for the app.

IsFastForwardEnabled

읽기/쓰기Gets or sets a value that specifies if the fast forward button is supported.

IsNextEnabled

읽기/쓰기Gets or sets a value that specifies if the next button is supported.

IsPauseEnabled

읽기/쓰기Gets or sets a value that specifies if the pause button is supported.

IsPlayEnabled

읽기/쓰기Gets or sets a value that specifies if the play button is supported.

IsPreviousEnabled

읽기/쓰기Gets or sets a value that specifies if the previous button is supported.

IsRecordEnabled

읽기/쓰기Gets or sets a value that specifies if the record button is supported.

IsRewindEnabled

읽기/쓰기Gets or sets a value that specifies if the rewind button is supported.

IsStopEnabled

읽기/쓰기Gets or sets a value that specifies if the stop button is supported.

PlaybackStatus

읽기/쓰기Gets the playback status of the media.

SoundLevel

읽기 전용Gets the sound level of the media for the capture and render streams.

 

설명

SystemMediaTransportControlsMediaControl 클래스를 대체합니다. Windows 8.1 이상에서는 MediaControl 대신 이 컨트롤을 사용하여 시스템 전송 컨트롤과 상호 작용해야 합니다.

시스템 전송 컨트롤을 사용하면 음악 응용 프로그램 개발자가 시스템 차원의 전송 컨트롤에 연결할 수 있습니다. 시스템 전송 컨트롤을 통해 사용자는 백그라운드의 음악 응용 프로그램을 제어하고 재생되는 트랙에 대한 현재 정보를 가져오고 설정할 수 있습니다.

GetForCurrentView를 호출하여 현재 보기에 대한 SystemMediaTransportControls의 인스턴스를 가져옵니다. 뷰당 하나의 재생 세션이 있습니다. 여러 창을 지원하는 앱은 각 재생 환경당 하나의 뷰라는 규칙에 따라 다중 재생 세션을 가질 수 있습니다.

시스템 전송 컨트롤 단추 이벤트를 앱에 통합하기 위해 ButtonPressed 이벤트에 대한 처리기를 등록합니다. 재생 이벤트를 처리하기 위한 SystemMediaTransportControls.IsPlayEnabled와 같은 개별 전송 컨트롤에 대한 지원을 사용하도록 설정해야 합니다.

앱이 일시 중단된 경우 백그라운드에서 음악 재생을 지원하려면 IsPlayEnabledIsPauseEnabledtrue로 설정하여 재생 및 일시 중지 단추 지원을 사용하도록 설정해야 합니다. 자세한 내용과 요구 사항은 백그라운드에서 오디오를 재생하는 방법을 참조하십시오.

음악 및 미디어 캡처 앱에서 SoundLevel을 모니터링하여 앱의 오디오 스트림이 Muted되었는지 확인해야 합니다. MediaCapture 개체를 사용하는 앱의 경우 앱의 캡처 스트림이 음소거되면 캡처가 자동 중지됩니다. 오디오 스트림의 음소거를 해제해도 자동으로 다시 캡처가 시작되지 않으므로 SoundLevel 변경 알림을 사용하여 다시 캡처를 시작할 수 있습니다. PropertyChanged 이벤트를 사용하여 SoundLevel 속성이 언제 변경되는지 확인합니다.

자세한 내용은 시스템 미디어 전송 컨트롤을 사용하는 방법을 참조하십시오.

예제

다음 코드에서는 MediaElement를 재생하고 일시 중지하는 ButtonPressed 이벤트 처리기 및 도우미 메서드를 만듭니다. PlayPause에 대한 호출은 Dispatcher.RunAsync를 사용해서 CoreDispatcher를 통해 UI 스레드에 마샬링됩니다.


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


다음 코드에서는 CurrentStateChanged 이벤트 처리기를 처리하고 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;
    }
}


요구 사항

지원되는 최소 클라이언트

Windows 8.1 [Windows 스토어 앱만]

지원되는 최소 서버

Windows Server 2012 R2 [Windows 스토어 앱만]

Namespace

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

Metadata

Windows.winmd

참고 항목

Object

 

 

표시:
© 2015 Microsoft