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


Извлечение сжатых образцов с помощью синхронного считывателя

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

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

Пакет SDK для формата Windows Media не предоставляет никаких методов для декодирования данных после извлечения из ASF-файла. Если вы получаете сжатые образцы и позже хотите распаковать их, вам придется предоставить собственный код для этого. Одним из способов обойти это ограничение является запись сжатых данных в новый ASF-файл, а затем повторное считывание их обратно в обычные несжатые данные.

Чтобы получить сжатые образцы с синхронным читателем, вызовите IWMSyncReader::SetReadStreamSamples до или во время воспроизведения. Передайте значение true для fCompressed.

Заметка

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

 

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