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
- Наследование
- Атрибуты
- Реализации
Требования к 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 воспроизведения мультимедиа в контексте или в качестве начальной точки для собственного приложения.
- Пример адаптивной потоковой передачи
- Пример воспроизведения звука в фоновом режиме
- Пример системной транспортировки мультимедиа
- Пример воспроизведения видео на 360 градусов
- Пример воспроизведения мультимедиа в фоновом режиме
- Пример синхронизации воспроизведения видео
Журнал версий
Версия 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 |
Происходит при изменении громкости звука. |