Behaviour.jsライクな設定でエレメントに音を鳴らすイベントをつけるライブラリ

を作った。

http://svn.unknownplace.org/public/library/js/trunk/JSound/

使い方は

<script type="text/javascript" src="/js/prototype.js"></script>
<script type="text/javascript" src="/js/sound.js"></script>
<script type="text/javascript">

    Sound.swf = 'sound.swf'; // sound.swf のパスを指定 (デフォルト /swf/sound.swf)

    // 設定
    var rules = {
        // CSSライクなセレクタでエレメントを指定
        'a': {
            onmouseover: '/static/sample/foo.mp3', // イベントとサウンドファイル指定
            onclick: '/static/sample/foo.mp3'
        },
        '#foo a': {
            onmouseover: '/static/sample/foo.mp3'
        },
        '.blah a': {
            onmouseover: [
                '/static/sample/foo.mp3',  // サウンドファイルを配列で指定すると
                '/static/sample/bar.mp3'   // その中からランダムで再生される
            ]
        }
    };

    // イベント登録
    SoundEvent.onloadregister(rules);

</script>

こんな。prototype.js 1.5 以上が必要。重複するエレメントがあるばあい下に書いた方が有効になります。なのでa全体に適用とかいうセレクタは一番上に。

Javascript Sound library とか id:brazil さんの FlashProxy とか見てたら面白くなってきて、自分でも作ってみたという感じ。

MTASC + ExternalInterface おもろいわぁ。