再生中の曲を取得 by Messenger Library

投稿日 : 2008年7月31日 22:07

前回: Live Messenger の Version 取得 by Messenger Library

 JavaScriptベースのWindows Live Messenger Libraryから、メンバーがLive Messengerにて再生中の曲表示をしていた場合、その値を取得してみましょう。Messenger Libraryは、Web Live Messenger相当の機能なんですが、再生中の曲も取得できるんですねー。

 再生中の曲を取得するためだけのプロパティというものはなく、プレゼンスを表すIMAddressPresenceクラスに汎用的なPropertiesプロパティというものがあり、これを使います。これは、PresencePropertyクラスのコレクションになっていて、PresencePropertyはNameとValueのふたつのプロパティを持っています。

 もし曲を再生中のメンバーがいたら、そのメンバーのPresencePropertyコレクションの中に「CurrentMedia」という値が、Nameプロパティに設定されたものがあります。Value値を取得すると再生している曲がわかります。コードで示すと次のようになります。

// (presence は IMAddressPresence オブジェクト)
var properties = presence.get_properties().getEnumerator();
while (properties.moveNext()) {
    var p = properties.get_current();
    if (p.get_name() == 'CurrentMedia') {
        // (sb は StringBuilder オブジェクト)
        sb.append('Value = ' + p.get_value());
        break;
    }
}

 表示例です。

CurrentMedia

 この文字列を解析してあげる必要はあるわけですね……。この設定されている規則は、Live Messenger 表示メッセージを外部アプリから設定 を参考にしてください!

 使用したPresencePropertyクラスのNameとValueプロパティは、読み取り専用になっているので逆にMessenger Libraryから(偽りの)再生中の曲を設定することはできません。残念。

フィードバック

# 有効な表示名・表示メッセージ by Messenger Library

2008/08/05 23:50 by katamari.wankuma.com
有効な表示名・表示メッセージ by Messenger Library

# NCpEdXTXbVweSiF

2014/08/07 0:35 by http://crorkz.com/
2UAhEe Thanks-a-mundo for the blog post. Awesome.

# GxIVFVEayTYceXs

2014/09/04 7:51 by http://theboatonlinestore.es/
I am constantly browsing online for tips that can benefit me. Thanks!

# nNrgGeGAIjt

2014/09/04 9:19 by http://www.theboatonlinestore.com/
This website online is known as a stroll-by way of for all the data you wanted about this and didn't know who to ask. Glimpse here, and also you'll undoubtedly discover it.

# DWoFrfYkRLXwZ

2014/09/16 7:45 by http://ecommerce-investments.com/
Well I really enjoyed reading it. This tip provided by you is very effective for good planning.
コメントの入力
タイトル
名前
Url
コメント