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


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

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

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

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

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

Примечание

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

 

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