Поделиться через


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).
Поддерживаемые системой синхронизированные подсказки метаданных Описывается, как воспользоваться преимуществами нескольких форматов временных метаданных, которые могут быть внедрены в файлы мультимедиа или потоки.
Создание, планирование и управление перерывами при воспроизведении мультимедиа Показано, как создавать, планировать и администрировать разрывы мультимедиа в приложении воспроизведения мультимедиа.
Воспроизведение мультимедиа в фоновом режиме Показано, как настроить приложение таким образом, чтобы воспроизведение мультимедиа продолжалось при переходе приложения с переднего плана на фон.
Адаптивная потоковая передача Описывает добавление воспроизведения мультимедийного содержимого адаптивной потоковой передачи в приложения универсальная платформа Windows (UWP).
Трансляция мультимедиа Показано, как выполнить приведение мультимедиа к удаленным устройствам из универсального приложения для Windows.
PlayReady DRM Описывает добавление содержимого мультимедиа, защищенного playReady, в приложение универсальная платформа Windows (UWP).

Примеры пакетов SDK для воспроизведения мультимедиа

В следующих примерах пакетов SDK демонстрируются функции воспроизведения мультимедиа, доступные для приложений UWP в Windows 10. Используйте эти примеры для просмотра 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 СубтитрыChanged
1803 17134 AudioStateMonitor

Конструкторы

MediaPlayer()

Инициализирует новый экземпляр объекта MediaPlayer .

Свойства

AudioBalance

Возвращает или задает соотношение громкости между стереофониками.

AudioCategory

Возвращает или задает тип воспроизводимого в данный момент звука.

AudioDevice

Возвращает или задает объект DeviceInformation , представляющий звуковое устройство, используемое MediaPlayer для отрисовки звука.

AudioDeviceType

Возвращает или задает значение, описывающее основное использование устройства, которое используется для воспроизведения звука.

AudioStateMonitor

Возвращает объект AudioStateMonitor , который позволяет приложению UWP определить, отключен ли звук любого из аудиопотоков приложения или его громкость уменьшена системой.

AutoPlay

Возвращает или задает логическое значение, указывающее, запускается ли воспроизведение автоматически после загрузки носителя.

BreakManager

Возвращает объект MediaBreakManager , связанный с MediaPlayer, который предоставляет сведения о разрывах мультимедиа проигрывателя и управление ими.

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

Возвращает объект MediaPlaybackCommandManager , связанный с MediaPlayer, который определяет поведение и получает события от системных элементов управления транспортировкой мультимедиа.

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 .

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

Возвращает объект MediaPlaybackSession , связанный с MediaPlayer, который предоставляет сведения о состоянии текущего сеанса воспроизведения и события для реагирования на изменения в состоянии сеанса воспроизведения.

Position

Возвращает или задает позицию воспроизведения на носителе.

Примечание

MediaPlayer.Position может быть изменен или недоступен после Windows 10 версии 1607. Вместо этого используйте свойство MediaPlayer.PlaybackSession , чтобы получить объект MediaPlaybackSession , а затем используйте свойство MediaPlaybackSession.Position .

ProtectionManager

Возвращает или задает диспетчер защиты содержимого для носителя.

RealTimePlayback

Возвращает или задает значение, которое настраивает MediaPlayer для сценариев в режиме реального времени, таких как потоковая трансляция видео.

Source

Задает источник воспроизведения проигрывателя мультимедиа.

StereoscopicVideoRenderMode

Возвращает или задает значение, указывающее текущий режим стереоскопической отрисовки.

SystemMediaTransportControls

Получает экземпляр класса SystemMediaTransportControls, чтобы включить пользовательский контроль над воспроизведением MediaPlayer и разрешить приложению отображать сведения о текущем воспроизводимом содержимом в пользовательском интерфейсе системы.

TimelineController

Возвращает или задает MediaTimelineController , связанный с MediaPlayer. Используйте это свойство для управления несколькими экземплярами MediaPlayer с помощью одного элемента управления временная шкала.

TimelineControllerPositionOffset

Возвращает или задает смещение, примененное к позиции MediaTimelineController , связанной с MediaPlayer.

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

Возвращает объект CastingSource , представляющий MediaPlayer, который позволяет привести его носитель к другим устройствам.

GetSurface(Compositor)

Получает объект MediaPlayerSurface для MediaPlayer, который позволяет визуализировать содержимое проигрывателя с помощью Compositor , не полагаясь на платформу XAML.

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 перемещается назад на 0,042 секунды, что соответствует одному кадру со скоростью 24 кадров/с, независимо от фактической частоты кадров воспроизводимого содержимого.

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

Происходит при изменении громкости звука.

Применяется к