Примеры приложений пакета SDK для формата Windows Media
[Функция, связанная с этой страницей, пакет SDK для Windows Media 11, является устаревшей функцией. Она была заменена ридером источника и рекордером приёмника . средства чтения источников и записи приемника оптимизированы для Windows 10 и Windows 11. Microsoft настоятельно рекомендует использовать новый код с компонентами Чтение источника и Запись в приёмник вместо Пакет SDK для Windows Media 11, когда это возможно. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
Пример кода, предоставленный этим пакетом SDK, находится в виде проектов для Microsoft Visual Studio 2005. Большинство примеров находятся в C++, но для ManagedWMFSDKWrapper и ManagedMetadataEdit требуется C#.
Эти примеры не будут работать, если пакет SDK для формата Windows Media или пакет SDK проигрывателя Windows не установлен.
Сведения об использовании для каждого примера содержатся в файле readme.txt, расположенном в соответствующем каталоге.
Сэмл | Описание |
---|---|
Аудиоплеер | Воспроизводит файлы Windows Media, включая файлы, защищенные DRM. Он управляется с помощью графического интерфейса, а команды включают воспроизведение, паузу, поиск и остановку. Он может воспроизводить местные файлы или файлы из Интернета (включая файлы, выведенные в Интернет с помощью примера WMVNetWrite).
Примечание. части DRM этого примера не поддерживаются в версиях Windows на основе x64. |
DRMHeader | DRMHeader — это консольное приложение, использующее интерфейс IWMDRMEditor редактора метаданных для чтения атрибутов DRM файлов без связывания со статической библиотекой DRM.
Примечание. этот пример не поддерживается в версиях Windows на основе x64. |
DRMShow | DRMShow — это консольное приложение, в котором показано, как считывать свойства DRM файла Windows Media с помощью метода IWMDRMReader::GetDRMProperty. В этом примере показано использование метода IWMDRMReader::GetDRMProperty и свойств, которые можно получить из средства чтения DRM. В нем не показано, как получить лицензию на содержимое, защищенное DRM. Этот пример требует библиотеку заглушки DRM WMStubDRM.lib для сборки. Примечание. этот пример не поддерживается в версиях Windows на основе x64. При получении WMStubDRM.lib от корпорации Майкрософт, библиотеке назначается уровень безопасности приложения. Если уровень безопасности получаемой библиотеки недостаточно для воспроизведения защищенного файла, в этом примере появится ошибка. |
DirectShowInterop/DSCopy | Перекодирует один или несколько файлов в ASF-файл с помощью фильтра записи DirectShow WM ASF. Входной файл может быть любым сжатым или несжатным форматом, поддерживаемым 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. |
Managed/WMFSDKWrapper | Эта управляемая сборка служит оболочкой, используемой примерами управляемого кода для доступа к некоторым интерфейсам метаданных этого пакета SDK. |
Управляемый/Редактирование метаданных | Это приложение C# можно использовать для просмотра и редактирования метаданных из файлов Windows Media. |
Редактирование метаданных | Это версия 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 и Video 9. |
WMProp | Это консольное приложение демонстрирует, как получить атрибуты с помощью объекта редактора метаданных и профильной информации из ридера. |
WMStats | Это консольное приложение отображает статистику чтения и записи. Несколько экземпляров WMStats также можно использовать одновременно на одном компьютере. Запустите один экземпляр в качестве сервера, чтобы отправить поток в сеть, а затем запустите второй экземпляр в качестве клиента, чтобы убедиться, что сервер правильно воспроизводит поток. |
WMSyncReader | В этом примере консольного приложения показано, как считывать файл мультимедиа с помощью IWMSyncReader без создания дополнительного потока или обратного вызова. Ниже реализованы следующие функции: чтение сжатых или распакованных образцов данных Поиск на основе времени Поиск по кадрам IStream производного источника |
WMVAppend | Это консольное приложение принимает два файла Windows Media для ввода и пытается создать выходной файл с содержимым первого, а затем второго. В примере сравниваются профили двух входных файлов, чтобы убедиться, что они достаточно похожи для добавления. Если это не так, появится сообщение об ошибке. Например, сообщение об ошибке возникает, когда один файл является только звуковым, а второй — аудио-видеофайлом, или если два звуковых файла имеют разные битрейты. Образец принимает источники с переменным битрейтом (VBR). Однако при сравнении профилей двух источников VBR выборка игнорирует среднюю разницу скорости битов, так как два потока VBR будут иметь разные средние скорости, даже если они были созданы с использованием одного профиля. WMVAppend не может сравнить пиковый битрейт потоков VBR с неограниченной скоростью или уровень качества потоков VBR на основе качества, так как эта информация отсутствует в исходных файлах. Поэтому пользователю необходимо убедиться, что два исходных файла создаются с помощью одного профиля. В противном случае можно создать недопустимое содержимое. |
WMVCopy | В этом примере показан код, необходимый для копирования ФАЙЛА WMV. В нем показано, как читать и записывать сжатые примеры, читать атрибуты заголовка и скрипты, а также изменять атрибуты заголовка. |
WMVNetWrite | Это консольное приложение показывает, как файл Windows Media передается через Интернет. Для примера требуется указать порт, а затем файл можно воспроизвести с помощью проигрывателя. |
WMVRecompress | В этом консольном приложении показано, как повторно сжать WMV-файл. Он демонстрирует чтение несжатых образцов, запись несжатых образцов и выполнение многопроходного кодирования, многоканального вывода и интеллектуального повторного сжатия. |