属性値の読み取り
[このページWindows メディア プレーヤー SDK に関連付けられている機能は、レガシ機能です。 MediaPlayer に置き換わりました。 MediaPlayer は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能な場合は SDK ではなく MediaPlayerWindows メディア プレーヤー使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
ライブラリと Windows Media ファイルで見つけることができる属性には、定義済みの名前があります。 その属性の名前を Media に渡すことで、1 つの属性の値を取得するコードを記述できます。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 の呼び出しでは、2 番目のパラメーターは言語を指定する文字列です。 この例に示すように空の文字列を渡すと、メソッドは既定の言語で値を取得します。 3 番目のパラメーターの詳細については、「 複数の値を持つ属性」を参照してください。
次の 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 メソッドに渡される 3 番目の引数は、同じ名前の属性セット内の特定の属性のインデックスです。
同様のコードを使用して、一意の名前を持つ属性を取得できます。 このような場合、 getAttributeCountByType は 1 を返します。 前に示した例では、 getItemInfoByType の呼び出しは 1 回だけ実行されます。
関連トピック
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示