CodeSnip: Getting Currently Playing info from Windows Media Player using the blogging power toy.
I don’t know whom this would benefit but someone building a blog posting tool for the desktop, but anyway here’s the code that I converted from the jscript example that comes with the Windows Media Player blogging powertoy :
using System; using Microsoft.Win32; public class MediaPlayerInfo { public static string GetCurrentlyPlayingMedia(){ RegistryKey regKey = Registry.CurrentUser; regKey = regKey.OpenSubKey("Software\\Microsoft\\MediaPlayer\\CurrentMetadata"); string displayString = "<div class='media'>[ Currently Listening to: "; bool hasMetadata = false; string trackInfo = ""; try{ trackInfo = regKey.GetValue("Title").ToString(); if(trackInfo.Length != 0){ hasMetadata = true; displayString += trackInfo + " "; } }catch{ try{ trackInfo = ""; trackInfo = regKey.GetValue("Name").ToString(); if(trackInfo.Length != 0){ hasMetadata = true; displayString += trackInfo + " "; } }catch{} } try{ trackInfo = ""; trackInfo = regKey.GetValue("DurationString").ToString(); if(trackInfo.Length != 0){ hasMetadata = true; displayString += "(" + trackInfo + ")"; } }catch{} try{ trackInfo = ""; trackInfo = regKey.GetValue("Author").ToString(); if(trackInfo.Length != 0){ hasMetadata = true; displayString += " by " + trackInfo; } }catch {} try{ trackInfo = ""; trackInfo = regKey.GetValue("Album").ToString(); if(trackInfo.Length != 0){ hasMetadata = true; displayString += " on the album " + trackInfo; } }catch{} if(!hasMetadata){ displayString += "Nothing."; } displayString += " ]</div>"; return displayString; } }
It could probably stand to be a bit more flexible - ie user-defined by a template like w.bloggar, but for the basics it works great! Oh yeah, and let’s not forget the output:
[ Currently Listening to: Rage Against The Machine - Pocket
Full of Shells (03:52) ]