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


Объект читателя

[Функция, связанная с этой страницей, пакет SDK для Windows Media 11, является устаревшей функцией. Он был заменен средства чтения источника и записи приемника. средства чтения источников и записи приемника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код средства чтения исходного кода и записи приемников вместо пакета SDK для Windows Media 11, когда это возможно. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

Объект чтения считывает примеры данных из файлов мультимедиа. Объект читателя в настоящее время поддерживает файлы с помощью структуры файлов расширенного формата систем (ASF), а также MP3-файлов. Данные, предоставляемые объектом чтения, распаковываются и готовы к отрисовке по умолчанию, хотя примеры могут быть доставлены без декомпрессации при необходимости. Примеры доставляются асинхронно из объекта чтения; Для их получения необходимо настроить функцию обратного вызова. Для синхронного воспроизведения файлов ASF используйте объект синхронного чтения. Ни средство чтения, ни синхронное средство чтения не отображает какие-либо данные. Для отображения носителя, полученного из файла, необходимо предоставить собственные подпрограммы отрисовки.

Если файл содержит закодированный носитель, который можно декодировать с помощью кодека, поддерживаемого объектом чтения, можно управлять форматом несжатых выходных данных. Чтобы изменить формат распакованных выходных данных для потока, необходимо получить объект свойств выходных носителей по умолчанию для этого потока, внести в него изменения и переназначить его потоку в средстве чтения. Объекты свойств выходных носителей подчинены объекту чтения и должны создаваться только с помощью метода IWMReader::GetOutputProps.

Объект чтения создается функцией WMCreateReader, которая задает указатель на интерфейс IWMReader. Другие интерфейсы объекта чтения можно получить путем вызова метода QueryInterface.

Следующие интерфейсы поддерживаются объектом чтения.

Интерфейс Описание
IReferenceClock Предоставляет доступ к системным часам, используемым средством чтения.
IWMDRMReader Управляет приобретением лицензий, свойствами DRM и персонализацией клиента.
IWMDRMReader2 Предоставляет доступ к лицензиям, используюющим уровни защиты выходных данных (OPL) для указания прав.
IWMHeaderInfo Задает и извлекает сведения о заголовке, включая метаданные, маркерыи данные скрипта.
IWMHeaderInfo2 Извлекает сведения о кодеках, которые использовались для кодирования содержимого в файле. Наследует все методы IWMHeaderInfo.
IWMHeaderInfo3 Поддерживает большие размеры атрибутов, повторяющиеся имена атрибутов и поддержку нескольких языков. Наследует все методы IWMHeaderInfo и IWMHeaderInfo2.
IWMPacketSize Извлекает размер самого большого пакета в файле, загруженном в средство чтения.
IWMPacketSize2 Извлекает размер наименьшего пакета в файле, загруженном в средство чтения.
IWMProfile Предоставляет доступ к сведениям профиля файла, загруженного в средство чтения.
IWMProfile2 Извлекает глобальный уникальный идентификатор (GUID), если он есть, связанный с профилем. Наследует все методы IWMProfile.
IWMProfile3 Поддерживает общий доступ к пропускной способности и сведения о приоритете потоков в профиле. Наследует все методы IWMProfile и IWMProfile2.
IWMReader Предоставляет базовые возможности чтения файлов, включая операции открытия, закрытия, запуска, приостановки, возобновления, остановки и получения и задания свойств вывода.
IWMReaderAccelerator Взаимодействует с ускорением видео DirectX.
IWMReaderAdvanced Предоставляет расширенные возможности средства чтения, такие как часы, предоставленные пользователем, выделение буфера, статистика возврата и уведомления о выборе потока.
IWMReaderAdvanced2 Предоставляет дополнительный диапазон расширенных методов для существующего объекта чтения. Наследует все методы IWMReaderAdvanced.
IWMReaderAdvanced3 Предоставляет расширенный контроль поиска и потоковой передачи. Наследует все методы IWMReaderAdvanced и IWMReaderAdvanced2.
IWMReaderAdvanced4 Предоставляет расширенные возможности чтения, включая поддержку нескольких языков. Наследует все методы IWMReaderAdvanced, IWMReaderAdvanced2и IWMReaderAdvanced3.
IWMReaderNetworkConfig Управляет параметрами конфигурации сети.
IWMReaderNetworkConfig2 Предоставляет доступ к расширенным параметрам конфигурации сети. Наследует все методы IWMReaderNetworkConfig.
IWMReaderStreamClock Задает и отменяет таймеры в часах потока и извлекает текущее значение указанного потока.
IWMReaderTimecode Предоставляет сведения о диапазонах кода времени SMPTE в файле, загруженном в читатель.
IWMReaderTypeNegotiation Проверяет, работают ли изменения выходных свойств потока должным образом.

 

Следующие интерфейсы обратного вызова можно реализовать в приложении для отслеживания хода выполнения объекта чтения.

Интерфейс Описание
IWMCredentialCallback Получает учетные данные пользователей и проверяет, есть ли у них разрешение на доступ к удаленному сайту.
IWMReaderAllocatorEx Предоставляет расширенные альтернативные варианты и методы AllocateForStream интерфейса IWMReaderCallbackAdvanced.
IWMReaderCallback Предоставляет методы обратного вызова для методов запуска и OpenIWMReader.
IWMReaderCallbackAdvanced Предоставляет методы обратного вызова для методов интерфейса IWMReaderAdvanced.
IWMStatusCallback Требуется, когда сведения о состоянии должны быть переданы в хост-приложение.

 

объекты

чтение файлов ASF

синхронный объект чтения