読者です 読者をやめる 読者になる 読者になる

The jonki

呼ばれて飛び出てじょじょじょじょーんき

【MusicUnlimited】Chrome ExtensionsでMusic Unlimitedの曲を操作する

追記 Chromeウェブストアに公開しました


Chromeで開いているMusic Unlimitedをどのタブからも操作できるChrome Extensionを作りました。こんなやつ。

githubにソースも全部上げてます。Chrome拡張機能のページでデベロッパーモードにすればフォルダをそのままExtensionとしてインストールできます。3つあります。
https://github.com/jojonki/ChromeExtensions/tree/master/extentions/JMU


元々はこちら様のサイトからの触発作品。
風おあ Music Unlimited用のChrome Extension作りました

Music UnlimitedAPI等は公開されていませんが、音楽再生・停止・次曲・前曲は画像になっているので、jQueryのclickイベントを飛ばしてしまえば割りと簡単にできます。自分の場合、上の画像のように3つのExtensionを作ってワンポチでUnlimitedを操作できるようにしました。風おあ様サイトと動作原理は同じです。

popup.html
<!doctype html>
<html>
<head>
        <style>
                body {
                        min-width:45px;
                        overflow-x:hidden;
                }
        </style>
        <!-- JavaScript and HTML must be in separate files for security. -->
        <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>   
   <script src="js/popup.js"></script>
</head>
<body>
<div style="text-align:center"><font size=1">(ω・` )</font></div>
</body>
</html>
popup.js

音楽操作の画像がHTML内で1,2,3,番目にあるので、その番号を最初に指定し、あとはUnlimitedを開いているタブに対してその画像のclickイベントを発行するだけです。簡単ですね。

$(function() {  

MATCH_URL = "https://music.sonyentertainmentnetwork.com/*";

var cmd = 1; // play_back
//var cmd = 2; // play or stop
//var cmd = 3; // play_forward:
var command = "var btn = document.getElementsByTagName('img')[" + cmd + "]; btn.click();";

chrome.tabs.query( //check if mu tab exists
    {url: MATCH_URL}, // url pattern
    function(response){
                if(response.length > 0) { // find mu tabs
                        var tabId = response[0].id; // use first mu tab id
                        chrome.tabs.executeScript(tabId, {code: command}, function() { }); // execute command with tabId
                        window.close();
                }
        }
);

})