Чтение значений атрибутов
[Функция, связанная с этой страницей, Медиаплеер Windows sdk, является устаревшей функцией. Он был заменен MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует по возможности использовать MediaPlayer вместо пакета SDK для Медиаплеер Windows. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Атрибуты, которые можно найти в библиотеке и в файлах Windows Media, имеют предопределенные имена. Вы можете написать код, который получает значение одного атрибута, передав имя этого атрибута в media. getItemInfo или Media. getItemInfoByType. Можно также написать код, который извлекает значения всех атрибутов в файле или элементе.
В следующем примере C# извлекается значение атрибута Title и отображается в окне сообщения. В этом примере объект Player был определен как axWMPLib.AxWindowsMediaPlayer Player.
IWMPMedia media;
string strAttribValue = "";
// Initialize the media object
media = Player.currentMedia;
// Retrieve the object's Title attribute
strAttribValue = media.getItemInfo("Title");
// Display the title
if (strAttribValue != "")
{
MessageBox.Show("Current title: " + strAttribValue);
}
В вызове getItemInfoByType вторым параметром является строка, указывающая язык. Если передать пустую строку, как показано в этом примере, метод извлекает значение на языке по умолчанию. Сведения о третьем параметре см. в разделе Атрибуты с несколькими значениями.
В следующем примере C# извлекаются значения для заданного атрибута в текущем элементе мультимедиа. Эти значения возвращаются в виде строки, разделенной точкой с запятой. Обратите внимание, что для атрибутов, представленных в виде объектов, таких как WM/Lyrics_Synchronised, WM/Picture и WM/UserWebURL, функция возвращает пустую строку.
private string getAttributeValues(string strAttrName, IWMPMedia3 media)
{
string strAttrValue = "";
int iAttrCount = 0;
if (media != null)
{
// Retrieve the count of values for this attribute
iAttrCount = media.getAttributeCountByType(strAttrName, "");
// Retrieve the values
for (int i = 0; i < iAttrCount; i++)
{
strAttrValue += media.getItemInfoByType(strAttrName, "", i);
strAttrValue += ";";
}
}
// Return the resulting string
return strAttrValue;
}
Третий аргумент, передаваемый методу getItemInfoByType , является индексом определенного атрибута в наборе атрибутов с тем же именем.
Аналогичный код можно использовать для получения атрибутов с уникальными именами. В таких случаях getAttributeCountByType возвращает значение 1. В приведенном выше примере вызов getItemInfoByType будет выполняться только один раз.
Связанные темы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по