MediaPlayer 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
재생, 일시 중지, 빠른 전달, 되감기 및 볼륨과 같은 미디어 재생 기능에 대한 액세스를 제공합니다.
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
- 상속
- 특성
- 구현
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 |
오디오 볼륨이 변경되면 발생합니다. |