MediaStreamSource Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет источник мультимедиа, который доставляет примеры мультимедиа непосредственно в конвейер мультимедиа.
public ref class MediaStreamSource sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.Media.Core.IMediaStreamSourceFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [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 MediaStreamSource 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(Windows.Media.Core.IMediaStreamSourceFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class MediaStreamSource final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Media.Core.IMediaStreamSourceFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[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 MediaStreamSource
[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(typeof(Windows.Media.Core.IMediaStreamSourceFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class MediaStreamSource
function MediaStreamSource(descriptor, descriptor2)
Public NotInheritable Class MediaStreamSource
- Наследование
- Атрибуты
- Реализации
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Комментарии
Пример использования media Stream Source в приложении UWP см. в разделе Пример MediaStreamSource .
MediaStreamSource — это новый универсальный источник мультимедиа для приложений UWP, появившийся в Windows 8.1. MediaStreamSource позволяет приложениям отправлять сжатые или несжатые примеры звука и видео в конвейер мультимедиа для воспроизведения, перекодирования и потоковой передачи. Примеры мультимедиа могут динамически создаваться приложением или де-мультиплексироваться из потока или файлов. Такая гибкость позволяет приложениям более легко расширять поддержку платформы для новых форматов мультимедиа или решать сложные задачи, такие как адаптивная потоковая передача.
MediaStreamSourceAPI очень похож на Microsoft SilverlightAPI с тем же именем.
MediaStreamSource можно использовать с аудио - и видеообращениями в приложении Windows с помощью JavaScript, объекты MediaElement в приложениях UWP с помощью C++, C# или Visual Basic, а также MediaTranscoder.
В примере MediaStreamSource показано, как использовать MediaStreamSource. Ниже приведены некоторые из main API MediaStreamSource. Порядок описывает базовый поток функций MediaStreamSource. Вы заметите, что MediaStreamSource отправляет объекты запроса в приложение с помощью аргументов события. Эти объекты запросов позволяют приложению взаимодействовать с MediaStreamSource и передавать ему данные.
API | Описание |
---|---|
MediaStreamSource | Представляет источник мультимедиа, который доставляет примеры мультимедиа непосредственно в конвейер мультимедиа. MediaStreamSource использует объекты MediaStreamSample , предоставляемые приложением. |
MediaStreamSample | Представляет образец мультимедиа, используемый MediaStreamSource. |
MediaStreamSource.Starting (событие) | MediaStreamSource использует это событие для уведомления приложения о том, что оно готово к обработке данных мультимедиа. |
MediaStreamSourceStartingRequest | Представляет запрос от MediaStreamSource, готовый к началу обработки данных мультимедиа. Приложения должны как можно скорее ответить на этот запрос, вызвав метод SetActualStartPosition в запросе. Если приложению необходимо отложить обработку данных MediaStreamSource, оно может получить асинхронную отсрочку от MediaStreamSourceStartingRequest.GetDeferral. Когда приложение готово к запуску MediaStreamSource, оно вызывает Complete для объекта отсрочки. Доступ к начальнму запросу осуществляется через MediaStreamSourceStartingEventArgs , которые передаются в обработчик событий MediaStreamSource.Starting . |
MediaStreamSource.SampleRequested (событие) | MediaStreamSource использует это событие для уведомления приложения о том, что оно готово к использованию MediaStreamSample. Приложения должны зарегистрировать обработчик для этого события. |
MediaStreamSourceSampleRequest | Представляет запрос из MediaStreamSource для нового примера мультимедиа. Если для свойства Sample задано новое значение MediaStreamSample, mediaStreamSource будет извлекать образец мультимедиа и продолжать обработку данных мультимедиа. Приложения должны как можно скорее ответить на этот запрос. Если приложению требуется время перед отправкой MediaStreamSample, оно может получить асинхронную отсрочку от MediaStreamSourceSampleRequest.GetDeferral. Когда приложение завершается с отсрочкой, оно вызывает Complete для объекта deferral. Доступ к образцу запроса осуществляется через MediaStreamSourceSampleRequestedEventArgs , которые передаются в обработчик событий MediaStreamSource.SampleRequest . Приложение указывает, что оно достигло конца потока, отвечая на MediaStreamSourceSampleRequest , не предоставляя MediaStreamSample, или присваивая свойству MediaStreamSourceSampleRequest.Sampleзначение NULL. |
MediaStreamSource.Closed (событие) | MediaStreamSource использует это событие для уведомления приложения о завершении работы. |
MediaStreamSourceClosedRequest | Представляет закрытый запрос из MediaStreamSource. Доступ к запросу на закрытие осуществляется через MediaStreamSourceClosedEventArgs , которые передаются в обработчик событий MediaStreamSource.Closed . |
MediaElement.SetMediaStreamSource | Задает источник MediaElement в значение MediaStreamSource. |
Журнал версий
Версия Windows | Версия пакета SDK | Добавленная стоимость |
---|---|---|
1607 | 14393 | SampleRendered |
1703 | 15063 | MaxSupportedPlaybackRate |
1709 | 16299 | IsLive |
Конструкторы
MediaStreamSource(IMediaStreamDescriptor) |
Создает экземпляр MediaStreamSource на основе указанного IMediaStreamDescriptor. |
MediaStreamSource(IMediaStreamDescriptor, IMediaStreamDescriptor) |
Создает экземпляр MediaStreamSource из двух объектов IMediaStreamDescriptor . |
Свойства
BufferTime |
Возвращает или задает объем данных, буферизирующихся MediaStreamSource. |
CanSeek |
Возвращает или задает значение, указывающее, поддерживает ли приложение изменение своей позиции в временной строке мультимедиа. |
Duration |
Возвращает или задает длительность временной линии мультимедиа. |
IsLive |
Возвращает или задает значение, указывающее, является ли обрабатываемое мультимедийное содержимое динамическим. |
MaxSupportedPlaybackRate |
Возвращает поддерживаемую maxiumum скорость воспроизведения для MediaStreamSource. |
MediaProtectionManager |
Возвращает или задает mediaProtectionManager , используемый для защиты мультимедиа, управление цифровыми правами (DRM). |
MusicProperties |
Возвращает свойства музыки, используемые для метаданных, связанных с музыкой. |
Thumbnail |
Возвращает или задает эскиз, который является ссылкой на поток для изображения эскиза видео или рисунка музыкального альбома. |
VideoProperties |
Возвращает свойства видео, используемые для метаданных, связанных с видео. |
Методы
AddProtectionKey(IMediaStreamDescriptor, Byte[], Byte[]) |
Добавляет ключ защиты управления цифровыми правами (DRM), который используется MediaProtectionManager для шифрования и расшифровки указанного потока. |
AddStreamDescriptor(IMediaStreamDescriptor) |
Добавляет новый дескриптор потока в MediaStreamSource. |
NotifyError(MediaStreamSourceErrorStatus) |
Уведомляет MediaStreamSource о том, что произошла ошибка, которая не позволяет приложению продолжать доставлять данные в MediaStreamSource. |
SetBufferedRange(TimeSpan, TimeSpan) |
Задает диапазон данных, которые приложение в настоящее время буферизуют. |
События
Closed |
Происходит при завершении работы MediaStreamSource . |
Paused |
Происходит, когда MediaStreamSource приостановлен и перестает запрашивать объекты MediaStreamSample в течение неопределенного периода времени, но ожидается возобновление запроса объектов MediaStreamSample из текущей позиции. |
SampleRendered |
Происходит при отрисовке примера из MediaStreamSource . |
SampleRequested |
Происходит, когда MediaStreamSource запрашивает MediaStreamSample для указанного потока. |
Starting |
Происходит, когда MediaStreamSource готов начать запрашивать объекты MediaStreamSample . Событие может указать позицию в временной строке мультимедиа, из которой должна быть доставлена первая mediaStreamSample . |
SwitchStreamsRequested |
Происходит, когда MediaStreamSource перестает запрашивать объекты MediaStreamSample для определенного потока и начнет запрашивать объекты MediaStreamSample из другого потока. |