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


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

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

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

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

интерфейса IWMReader

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

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