다음을 통해 공유


MediaPlayer 클래스

정의

재생, 일시 중지, 빠른 전달, 되감기 및 볼륨과 같은 미디어 재생 기능에 대한 액세스를 제공합니다.

public ref class MediaPlayer sealed
public ref class MediaPlayer sealed : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class MediaPlayer final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(196608, "Windows.Foundation.UniversalApiContract")]
class MediaPlayer final : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class MediaPlayer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(196608, "Windows.Foundation.UniversalApiContract")]
public sealed class MediaPlayer : System.IDisposable
function MediaPlayer()
Public NotInheritable Class MediaPlayer
Public NotInheritable Class MediaPlayer
Implements IDisposable
상속
Object Platform::Object IInspectable MediaPlayer
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

설명

설명서의 미디어 재생 섹션에는 앱에 미디어 재생 기능을 추가하기 위한 자세한 지침을 제공하는 방법 문서가 포함되어 있습니다. 다음 표에서는 사용 가능한 문서 중 일부를 나열합니다.

항목 설명
MediaPlayer를 사용하여 오디오 및 비디오 재생 UWP 앱용 미디어 재생 시스템의 새로운 기능과 향상된 기능을 활용하는 방법을 보여 줍니다.
미디어 항목, 재생 목록 및 트랙 로컬 또는 원격 파일과 같은 다른 원본에서 미디어를 참조하고 재생하는 일반적인 방법을 제공하고 기본 미디어 형식에 관계없이 미디어 데이터에 액세스하기 위한 공통 모델을 노출하는 MediaSource 클래스를 사용하는 방법을 보여 줍니다.
시스템 미디어 전송 컨트롤과 통합 앱을 SMTC(시스템 미디어 전송 컨트롤)와 통합하는 방법을 보여 줍니다.
시스템에서 지원하는 시간이 제한된 메타데이터 신호 미디어 파일 또는 스트림에 포함될 수 있는 여러 형식의 시간 제한 메타데이터를 활용하는 방법을 설명합니다.
미디어 휴지 만들기, 예약 및 관리 미디어 재생 앱에 대한 미디어 중단을 만들고, 예약하고, 관리하는 방법을 보여줍니다.
백그라운드에서 미디어 재생 앱이 포그라운드에서 백그라운드로 이동할 때 미디어가 계속 재생되도록 앱을 구성하는 방법을 보여줍니다.
적응 스트리밍 UWP(유니버설 Windows 플랫폼) 앱에 적응 스트리밍 멀티미디어 콘텐츠의 재생을 추가하는 방법을 설명합니다.
미디어 캐스팅 유니버설 Windows 앱에서 원격 디바이스로 미디어를 캐스팅하는 방법을 보여줍니다.
PlayReady DRM PlayReady로 보호된 미디어 콘텐츠를 UWP(유니버설 Windows 플랫폼) 앱에 추가하는 방법을 설명합니다.

미디어 재생 SDK 샘플

다음 SDK 샘플은 Windows 10의 UWP 앱에 제공되는 미디어 재생 기능을 보여 줍니다. 이러한 샘플을 사용하여 컨텍스트에서 사용되거나 자체 앱의 시작점으로 사용되는 미디어 재생 API를 볼 수 있습니다.

버전 기록

Windows 버전 SDK 버전 추가된 값
1511 10586 AddAudioEffect
1511 10586 RemoveAllEffects
1607 14393 AddVideoEffect
1607 14393 AudioBalance
1607 14393 AudioDevice
1607 14393 BreakManager
1607 14393 CommandManager
1607 14393 GetAsCastingSource
1607 14393 GetSurface
1607 14393 IsMutedChanged
1607 14393 PlaybackSession
1607 14393 RealTimePlayback
1607 14393 SetSurfaceSize
1607 14393 SourceChanged
1607 14393 StepBackwardOneFrame
1607 14393 StepForwardOneFrame
1607 14393 StereoscopicVideoRenderMode
1607 14393 TimelineController
1607 14393 TimelineControllerPositionOffset
1703 15063 CopyFrameToStereoscopicVideoSurfaces
1703 15063 CopyFrameToVideoSurface(IDirect3DSurface)
1703 15063 CopyFrameToVideoSurface(IDirect3DSurface,Rect)
1703 15063 IsVideoFrameServerEnabled
1703 15063 VideoFrameAvailable
1709 16299 RenderSubtitlesToSurface(IDirect3DSurface)
1709 16299 RenderSubtitlesToSurface(IDirect3DSurface,Rect)
1709 16299 SubtitleFrameChanged
1803 17134 AudioStateMonitor

생성자

MediaPlayer()

MediaPlayer 개체의 새 instance 초기화합니다.

속성

AudioBalance

스테레오 스피커의 볼륨 비율을 가져오거나 설정합니다.

AudioCategory

현재 재생 중인 오디오 유형을 가져오거나 설정합니다.

AudioDevice

MediaPlayer에서 오디오를 렌더링하는 데 사용하는 오디오 디바이스를 나타내는 DeviceInformation 개체를 가져오거나 설정합니다.

AudioDeviceType

오디오 재생에 사용되는 디바이스의 기본 사용을 설명하는 값을 가져오거나 설정합니다.

AudioStateMonitor

UWP 앱이 앱의 오디오 스트림이 현재 음소거 중인지 또는 시스템에 의해 볼륨이 감소했는지 확인할 수 있는 AudioStateMonitor 개체를 가져옵니다.

AutoPlay

미디어가 로드된 후 재생이 자동으로 시작되는지 여부를 나타내는 부울 값을 가져오거나 설정합니다.

BreakManager

MediaPlayer와 연결된 MediaBreakManager가져오며 플레이어의 미디어 중단에 대한 정보와 제어를 제공합니다.

BufferingProgress

미디어 콘텐츠에 대해 완료된 버퍼링의 양을 백분율로 표시합니다.

참고

MediaPlayer.BufferingProgress는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져옵니다. 그런 다음 MediaPlaybackSession.BufferingProgress 속성을 사용합니다.

CanPause

미디어를 일시 중지할 수 있는지 여부를 나타내는 부울 값을 가져옵니다.

참고

MediaPlayer.CanPause는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져와 MediaPlaybackSession.CanPause 속성을 사용합니다.

CanSeek

미디어가 특정 위치에 대한 검색을 지원하는지 여부를 나타내는 부울 값을 가져옵니다.

참고

MediaPlayer.CanSeek은 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져와 MediaPlaybackSession.CanSeek 속성을 사용합니다.

CommandManager

의 동작을 지정하고 시스템 미디어 전송 컨트롤에서 이벤트를 수신하는 MediaPlayer와 연결된 MediaPlaybackCommandManager를 가져옵니다.

CurrentState

미디어 재생의 현재 상태를 가져옵니다.

참고

MediaPlayer.CurrentState는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져와 MediaPlaybackSession.PlaybackState 속성을 사용합니다.

IsLoopingEnabled

미디어가 반복 루프에서 재생되는지 여부를 나타내는 부울 값을 가져오거나 설정합니다.

IsMuted

오디오가 음소거되었는지 여부를 나타내는 부울 값을 가져오거나 설정합니다.

IsProtected

콘텐츠가 디지털 권한 관리 시스템으로 보호되는지 여부를 나타내는 부울 값을 가져옵니다.

참고

MediaPlayer.IsProtected는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져와 IsProtected 속성을 사용합니다.

IsVideoFrameServerEnabled

MediaPlayer instance 대해 비디오 프레임 서버 모드를 사용할 수 있는지 여부를 나타내는 값을 가져옵니다.

NaturalDuration

PlaybackRate를 적용하지 않고 미디어의 실제 기간을 가져옵니다.

참고

MediaPlayer.NaturalDuration은 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져옵니다. 그런 다음 MediaPlaybackSession.NaturalDuration 속성을 사용합니다.

PlaybackMediaMarkers

미디어에 대한 타임라인 표식의 컬렉션을 가져옵니다.

참고

MediaPlayer.PlaybackMediaMarkers는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlaybackItem.TimedMetadataTracks를 사용하여 데이터 또는 텍스트 신호를 관리합니다. 자세한 내용은 MediaSource를 사용하여 미디어 재생을 참조하세요.

PlaybackRate

비율로 표현되는 재생 속도를 가져오거나 설정합니다.

참고

MediaPlayer.PlaybackRate는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져와 MediaPlaybackSession.PlaybackRate 속성을 사용합니다.

PlaybackSession

현재 재생 세션의 상태에 대한 정보를 제공하고 재생 세션 상태의 변경에 응답하기 위한 이벤트를 제공하는 MediaPlayer와 연결된 MediaPlaybackSession을 가져옵니다.

Position

미디어 내에서 재생 위치를 가져오거나 설정합니다.

참고

MediaPlayer.Position은 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져와 MediaPlaybackSession.Position 속성을 사용합니다.

ProtectionManager

미디어의 콘텐츠 보호 관리자를 가져오거나 설정합니다.

RealTimePlayback

라이브 스트리밍 비디오와 같은 실시간 시나리오에 대해 MediaPlayer 를 구성하는 값을 가져오거나 설정합니다.

Source

미디어 플레이어의 재생 원본을 설정합니다.

StereoscopicVideoRenderMode

현재 입체 렌더링 모드를 나타내는 값을 가져오거나 설정합니다.

SystemMediaTransportControls

MediaPlayer의 재생을 사용자가 제어할 수 있도록 하고 앱이 시스템 UI에서 현재 재생 중인 콘텐츠에 대한 정보를 표시할 수 있도록 하는 SystemMediaTransportControls 클래스의 instance 가져옵니다.

TimelineController

MediaPlayer와 연결된 MediaTimelineController를 가져오거나 설정합니다. 단일 타임라인 컨트롤을 사용하여 여러 MediaPlayer 인스턴스를 조작하려면 이 속성을 사용합니다.

TimelineControllerPositionOffset

MediaPlayer와 연결된 MediaTimelineController의 위치에 적용되는 오프셋을 가져오거나 설정합니다.

Volume

미디어 재생을 위한 오디오 볼륨을 가져오기 또는 설정합니다.

메서드

AddAudioEffect(String, Boolean, IPropertySet)

MediaPlayer의 재생 스트림에 오디오 효과를 추가합니다.

AddVideoEffect(String, Boolean, IPropertySet)

비디오 효과를 미디어 재생에 적용합니다.

Close()

MediaPlayer를 닫고 연결된 리소스를 삭제합니다.

CopyFrameToStereoscopicVideoSurfaces(IDirect3DSurface, IDirect3DSurface)

MediaPlayer가 현재 표시하는 비디오 프레임을 입체 비디오 프레임의 왼쪽 눈 및 오른쪽 눈 콘텐츠를 나타내는 제공된 두 개의 IDirect3DSurface 개체에 복사합니다.

CopyFrameToVideoSurface(IDirect3DSurface)

MediaPlayer에서 제공된 IDirect3DSurface로 현재 비디오 프레임을 복사합니다.

CopyFrameToVideoSurface(IDirect3DSurface, Rect)

MediaPlayer에서 제공된 IDirect3DSurface 내의 지정된 대상 사각형으로 현재 비디오 프레임을 복사합니다.

Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

GetAsCastingSource()

MediaPlayer를 나타내는 CastingSource를 가져오며, 이를 통해 미디어를 다른 디바이스로 캐스팅할 수 있습니다.

GetSurface(Compositor)

MediaPlayer에 대한 MediaPlayerSurface 개체를 가져옵니다. 이 개체를 사용하면 XAML 프레임워크를 사용하지 않고도 Compositor를 사용하여 플레이어의 콘텐츠를 렌더링할 수 있습니다.

Pause()

미디어 재생을 일시 중지합니다.

Play()

미디어 재생을 시작합니다.

RemoveAllEffects()

MediaPlayer의 재생 스트림에서 모든 효과를 제거합니다.

RenderSubtitlesToSurface(IDirect3DSurface)

시스템에서 제공된 IDirect3DSurface에 현재 자막 텍스트를 렌더링하도록 요청합니다.

RenderSubtitlesToSurface(IDirect3DSurface, Rect)

시스템에서 제공된 IDirect3DSurface 내의 지정된 대상 사각형에 현재 자막 텍스트를 렌더링하도록 요청합니다.

SetFileSource(IStorageFile)

미디어 원본을 파일로 설정합니다.

참고

MediaPlayer.SetFileSource는 Windows 10 후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.Source 를 사용합니다.

SetMediaSource(IMediaSource)

재생을 위한 미디어 원본을 설정합니다.

참고

MediaPlayer.SetMediaSource는 Windows 10 후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.Source 를 사용합니다.

SetStreamSource(IRandomAccessStream)

미디어 원본을 스트림으로 설정합니다.

참고

MediaPlayer.SetMediaSource는 Windows 10 후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.Source 를 사용합니다.

SetSurfaceSize(Size)

GetSurface에서 반환된 컴퍼지션 표면의 크기를 설정합니다.

SetUriSource(Uri)

미디어의 경로를 설정합니다.

참고

MediaPlayer.SetUriSource는 Windows 10 후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.Source 를 사용합니다.

StepBackwardOneFrame()

재생 중인 콘텐츠의 실제 프레임 속도에 관계없이 MediaPlayer 의 재생 위치가 .042초 뒤로 이동하도록 합니다. 이 위치는 24fps의 한 프레임에 해당합니다.

StepForwardOneFrame()

MediaPlayer가 현재 미디어에서 한 프레임씩 앞으로 이동하도록 합니다.

이벤트

BufferingEnded

버퍼링이 끝나면 발생합니다.

참고

MediaPlayer.BufferingEnded는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져와 MediaPlaybackSession.BufferingEnded 이벤트를 사용합니다.

BufferingStarted

버퍼링이 시작되면 발생합니다.

참고

MediaPlayer.BufferingStarted는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져와 MediaPlaybackSession.BufferingStarted 이벤트를 사용합니다.

CurrentStateChanged

미디어 플레이어의 상태가 변경된 경우에 발생합니다.

참고

MediaPlayer.CurrentStateChanged는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져와 MediaPlaybackSession.PlaybackStateChanged 이벤트를 사용합니다.

IsMutedChanged

MediaPlayer의 현재 음소거된 상태 변경될 때 발생합니다.

MediaEnded

미디어 재생이 완료되면 발생합니다.

MediaFailed

오류가 발생할 때 발생합니다.

MediaOpened

미디어를 열면 발생합니다.

MediaPlayerRateChanged

미디어 재생 속도가 변경되면 발생합니다.

참고

MediaPlayer.MediaPlayerRateChanged는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져와 MediaPlaybackSession.PlaybackRateChanged 이벤트를 사용합니다.

PlaybackMediaMarkerReached

재생 중에 미디어 마커에 도달했을 때 발생합니다.

참고

MediaPlayer.PlaybackMediaMarkerReached는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlaybackItem.TimedMetadataTracks를 사용하여 데이터 또는 텍스트 신호를 관리합니다. 자세한 내용은 MediaSource를 사용하여 미디어 재생을 참조하세요.

SeekCompleted

검색 작업이 완료되면 발생합니다.

참고

MediaPlayer.SeekCompleted는 Windows 10 버전 1607 이후에 변경되거나 사용할 수 없습니다. 대신 MediaPlayer.PlaybackSession 속성을 사용하여 MediaPlaybackSession 개체를 가져와 MediaPlaybackSession.SeekCompleted 이벤트를 사용합니다.

SourceChanged

MediaPlayer의 미디어 원본이 변경되면 발생합니다.

SubtitleFrameChanged

MediaPlayer가 프레임 서버 모드에 있는 동안 현재 자막 콘텐츠가 변경된 경우에 발생합니다.

VideoFrameAvailable

IsVideoFrameServerEnabled가 true로 설정되고 새 비디오 프레임을 처리할 수 있을 때 발생합니다.

VolumeChanged

오디오 볼륨이 변경되면 발생합니다.

적용 대상