Примеры приложений пакета SDK для формата Windows Media
[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Она была заменена средствами чтения источника и модуля записи приемников. Средство чтения исходного кода и модуль записи приемников оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде средство чтения исходного кода и модуль записи приемников вместо пакета SDK для Windows Media Format 11, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Пример кода, поставляемый с этим пакетом SDK, имеет форму проектов для Microsoft Visual Studio 2005. Большинство примеров находятся на языке C++, но для ManagedWMFSDKWrapper и ManagedMetadataEdit требуется C#.
Эти примеры не будут работать, если не установлен пакет SDK для формата Windows Media или пакет SDK проигрывателя Windows.
Сведения об использовании каждого примера содержатся в файле readme.txt в каждом каталоге примера.
Сэмл | Описание |
---|---|
AudioPlayer | Воспроизводит файлы Windows Media, включая файлы, защищенные DRM. Он управляется с помощью графического пользовательского интерфейса, и команды включают Play, Pause, Seek и Stop. Он может воспроизводить локальные файлы или файлы, считываемые из Интернета (включая выходные данные в Интернет с помощью примера WMVNetWrite).
Примечание: Части DRM этого примера не поддерживаются в 64-разрядных версиях Windows. |
DRMHeader | DRMHeader — это консольное приложение, которое использует интерфейс IWMDRMEditor редактора метаданных для чтения атрибутов DRM файлов без привязки к статической библиотеке DRM.
Примечание: Этот пример не поддерживается в 64-разрядных версиях Windows. |
DRMShow | DRMShow — это консольное приложение, в котором показано, как считывать свойства DRM файла Windows Media с помощью метода IWMDRMReader::GetDRMProperty . В этом примере демонстрируется использование метода IWMDRMReader::GetDRMProperty и свойств, которые можно получить из средства чтения DRM. В нем не показано, как получить лицензию на содержимое, защищенное DRM. Для сборки этого примера требуется библиотека заглушки DRM WMStubDRM.lib. Примечание: Этот пример не поддерживается в 64-разрядных версиях Windows. При получении WMStubDRM.lib от корпорации Майкрософт библиотеке назначается уровень безопасности приложения. Если уровень безопасности получаемой библиотеки недостаточно для воспроизведения защищенного файла, в этом примере отобразится сообщение об ошибке. |
DirectShowInterop/DSCopy | Перекодирует один или несколько файлов в ASF-файл с помощью фильтра DirectShow WM ASF Writer. Входной файл может иметь любой сжатый или несжатый формат, поддерживаемый DirectShow. |
DirectShowInterop/DSPlay | Этот пример представляет собой интерактивный проигрыватель аудио- и видеофайла с поддержкой DRM . Он использует фильтр чтения WM ASF DirectShow для воспроизведения файлов Windows Media (ASF, WMA, WMV) без защиты DRM и файлов, использующих DRM на уровне 100 или ниже. Дополнительные сведения см. в readme.txt в каталоге примера. |
DirectShowInterop/DSSeekFm | В этом примере показано, как использовать фильтр чтения DirectShow WM ASF для воспроизведения содержимого ASF в графе фильтра DirectShow, а также как использовать кадр, запрашивающий поддержку в пакете SDK для формата Windows Media. |
Управляемый/WMFSDKWrapper | Эта управляемая сборка служит оболочкой, используемой примерами управляемого кода для доступа к некоторым интерфейсам метаданных этого пакета SDK. |
Managed/MetadataEdit | Это приложение C# можно использовать для просмотра и редактирования метаданных из файлов Windows Media. |
MetaDataEdit | Это версия C++ приложения Managed MetadataEdit. |
ReadFromStream | В этом примере консольного приложения показано, как считывать данные из IStream с помощью WMReader. Источник IStream реализован для использования файла в формате Windows Media (WMA,WMV/ASF).
Примечание: В этом примере не показано, как обрабатывать примеры мультимедиа, поступающие из WMReader. Примеры обработки аудио-видео или других типов примеров мультимедиа см. в других примерах, например AudioPlayer, которые входят в состав пакета SDK для формата Windows Media. |
UncompAVIToWMV | В этом примере консольного приложения показан необходимый код для сжатия AVI-файла в WMV-файл. В нем показано, как объединить примеры для аудио- и видеопотоков из нескольких файлов AVI и либо объединить их в аналогичные потоки, либо создать новый поток на основе профиля исходного потока. Здесь также показано, как создать произвольный поток, выполнить многопроходное кодирование, добавить код времени SMPTE и применить защиту DRM версии 1. |
WMGenProfile/exe | Этот пример был обновлен с выпуска 7.1. Теперь это приложение диалогового окна MFC. Пример WMGenProfile демонстрирует использование статической библиотеки WMGenProfile. Он также служит инструментом для создания профилей. Это средство предназначено для разработчиков, знакомых с форматом Windows Media. Пользовательский интерфейс не тестировался для взаимодействия с пользователем и не является рекомендацией по представлению этой информации пользователю. |
WMGenProfile/lib | Пример библиотеки GenProfile демонстрирует создание профилей. В ней показано, как создавать типы мультимедиа и потоки для различных типов потоков (аудио, видео, скрипт, изображение, передача файлов и Интернет). В нем не показано, как работать с системными профилями или как преобразовать системные профили в профили, указывающие кодеки windows Media Audio and Video 9 Series. |
WMProp | Это консольное приложение демонстрирует получение атрибутов с помощью объекта редактора метаданных и сведений профиля из средства чтения. |
WMStats | Это консольное приложение отображает статистику чтения и записи. Несколько экземпляров WMStats также можно использовать одновременно на одном компьютере. Запустите один экземпляр в качестве сервера, чтобы отправить поток в сеть, а затем запустите второй экземпляр в качестве клиента, чтобы убедиться, что сервер выполняет потоковую передачу правильно. |
WMSyncReader | В этом примере консольного приложения показано, как считывать файл мультимедиа с помощью IWMSyncReader без создания дополнительного потока или обратных вызовов. Реализованы следующие функции: чтение сжатых или распакованных примеров Поиск на основе времени Поиск на основе кадров Производный источник IStream |
WMVAppend | Это консольное приложение принимает два файла Windows Media для ввода и пытается создать выходной файл с содержимым первого, а затем второго. В примере сравниваются профили двух входных файлов, чтобы убедиться, что они достаточно похожи для добавления. Если это не так, появится сообщение об ошибке. Например, сообщение об ошибке возникает, если один файл является только звуковым, а второй — звуковым видеофайлами или если у двух звуковых файлов разная скорость. Пример принимает источники переменной скорости (VBR). Однако при сравнении профилей двух источников VBR выборка игнорирует разницу в средней скорости, так как два потока VBR будут иметь разные средние скорости, даже если они были созданы с помощью одного профиля. WMVAppend не может сравнить пиковую скорость потоков VBR с неограниченной скоростью или уровень качества потоков VBR на основе качества, так как эта информация отсутствует в исходных файлах. Поэтому пользователь обязан убедиться, что два исходных файла созданы с использованием одного профиля. В противном случае можно создать недопустимое содержимое. |
WMVCopy | В этом примере показан код, необходимый для копирования WMV-файла. Здесь показано, как считывать и записывать сжатые примеры, считывать атрибуты заголовков и скрипты, а также изменять атрибуты заголовков. |
WMVNetWrite | Это консольное приложение показывает, как файл Windows Media передается через Интернет. Для примера требуется указать порт, а затем файл можно воспроизвести с помощью проигрывателя. |
WMVRecompress | В этом консольном приложении показано, как повторно спаковать WMV-файл. Он демонстрирует чтение несжатых примеров, запись несжатых примеров, выполнение многопрохожего кодирования, многоканальные выходные данные и интеллектуальное повторное сжатие. |