Получение примеров мультимедиа с помощью асинхронного средства чтения

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

Получив сообщение о состоянии WMT_OPENED в реализации IWMStatusCallback::OnStatus, вы можете начать получать примеры, вызвав IWMReader::Start. Асинхронное средство чтения предоставляет примеры для реализации IWMReaderCallback::OnSample. Примеры доставляются в порядке, указанном во время презентации.

Start — это асинхронный вызов. Он возвращается почти сразу же и продолжает выполняться в отдельных потоках. Асинхронное средство чтения использует несколько потоков при декодировании содержимого и доставке примеров. По достижении конца файла читатель отправляет сообщение о состоянии WMT_EOF в реализацию обратного вызова OnStatus . При отправке WMT_EOF средство чтения прекращает собственную обработку; Вам не нужно отвечать на WMT_EOF вызовом IWMReader::Stop.

Интерфейс IWMReader

Реализация сообщений читателя в обратном вызове OnStatus

Реализация обратного вызова OnSample