Использование объектной модели Медиаплеер Windows 7 или более поздней версии

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

Для большинства задач, которые вы могли выполнять с помощью объектной модели элементов activeX Медиаплеер Windows 6.4, потребуется новый подход. Во многих случаях имена свойств, методов и событий изменяются в объектной модели Медиаплеер Windows 7 или более поздней версии. Например, чтобы указать путь к файлу в объектной модели версии 6.4, необходимо задать свойство Player6.FileName :

WMP64.FileName = "https://www.microsoft.com/somefile.wmv";

При использовании объектной модели Медиаплеер Windows 7 или более поздней версии необходимо задать свойство Player.URL:

WMP9.URL = "https://www.microsoft.com/somefile.wmv";

Кроме того, с помощью объектной модели 10 можно получить объект Media из библиотеки, а затем задать свойство Player.currentMedia :

// Get the first media object in the media collection.
var MyMediaItem = WMP9.mediaCollection.getAll().item(0)

// Make the MyMediaItem object the current media.
WMP9.currentMedia = MyMediaItem;

Доступ к большей части функциональных возможностей в объектной модели Медиаплеер Windows 7 или более поздней версии осуществляется через иерархию объектов. Как показано в предыдущем примере, объект Playlist можно получить с помощью метода getAll объекта mediaCollection , доступ к которому осуществляется через корневой объект Player . Затем можно получить конкретный объект Media из объекта Playlist с помощью метода item объекта Playlist . Существует пять дополнительных методов, доступных через объект mediaCollection , которые возвращают объект Playlist ; Каждый метод позволяет получить объект на основе определенных критериев, таких как жанр или альбом.

Иерархическая структура объектной модели элементов управления ActiveX Медиаплеер Windows 7 или более поздней версии обеспечивает более логичный подход к организации свойств, методов и событий, доступных для использования. Вся функциональность элементов управления Проигрыватель содержится в объекте Controls , вся функциональность сетевого подключения проигрывателя — в объекте Network и т. д. Например, чтобы начать воспроизведение содержимого с помощью объектной модели версии 6.4, используйте метод Player6.Play :

WMP64.Play();

При использовании объектной модели Медиаплеер Windows 7 или более поздней версии необходимо получить доступ к методу Play с помощью объекта Controls:

WMP9.controls.play();

Однако глубина объектной модели может привести к очень длинным инструкциям скрипта:

WMP9.currentPlaylist.appendItem(WMP9.mediaCollection.getByName("MySong").item(0));

Инструкции, подобные предыдущему, можно сделать гораздо проще и удобнее для чтения, работая с отдельными именованными объектами. В следующем примере предыдущая инструкция кода заменяется синтаксисом с использованием отдельных объектных переменных:

// Store the current playlist object.
var pl = WMP9.currentPlaylist;

// Get a playlist from the media collection that contains
// one media item named "MySong".
var temp = WMP9.mediaCollection.getByName("MySong");

// Get the individual media item from the temp playlist.
var song = temp.item(0);

// Append the media item to the current playlist.
pl.appendItem(song);

Для этого стиля написания кода требуется больше строк скрипта, но его гораздо проще следовать, особенно с добавленными комментариями. Существует еще одно преимущество: объект currentPlaylist легко использовать повторно, так как он хранится в переменной pl.

Многие свойства, методы и события в объектной модели Медиаплеер Windows 7 или более поздней версии устанавливают или извлекают другие значения или возвращают значения другого типа или числа по сравнению с соответствующими функциями в объектной модели версии 6.4. Например, когда Player6.openState получает значение 2, это значение соответствует константе Visual Basic nsLoadingNSC, то есть проигрыватель загружает файл станции с расширением NSC. Но если свойство объектной модели Медиаплеер Windows 7 или более поздней версии Player.openState получает значение 2, это значение соответствует состоянию PlaylistLocating, то есть Медиаплеер Windows пытается найти список воспроизведения. Кроме того, свойство Player6.openState может извлекать семь различных значений, а свойство Player.openState Медиаплеер Windows 7 или более поздней версии — 22 разных значения. При изменении кода для использования другой версии объектной модели обязательно ознакомьтесь с разделом Справочник по объектной модели для создания скриптов пакета SDK для Медиаплеер Windows.

Сведения об объектной модели проигрывателя

Справочник по объектной модели для создания скриптов

Руководство по миграции объектной модели