AnalyserNode | サウンドの視覚化

AnalyserNode
AnalyserNode
PropertyValuehasOwnProperty
(function() {

    var onDOMContentLoaded = function() {

        window.AudioContext = window.AudioContext || window.webkitAudioContext;

        try {
            // Create the instance of AudioContext
            var context = new AudioContext();
        } catch (error) {
            window.alert(error.message + ' : Please use Chrome or Safari.');
            return;
        }

        // Create the instance of AnalyserNode
        var analyser = context.createAnalyser();

        /*
         * Display properties
         */

        var flagment = document.createDocumentFragment();

        for (var key in analyser) {
            var elem = document.createElement('tr');

            flagment.appendChild(elem);
            elem.innerHTML = '<td>' + key + '</td><td>' + analyser[key] + '</td><td>' + analyser.hasOwnProperty(key) + '</td>';
        }

        document.getElementById('analysernode-properties').querySelector('tbody').innerHTML = '';
        document.getElementById('analysernode-properties').querySelector('tbody').appendChild(flagment);
        document.getElementById('analysernode-properties').parentNode.previousElementSibling.style.display = 'block';
    };

    if ((document.readyState === 'interactive') || (document.readyState === 'complete')) {
        onDOMContentLoaded();
    } else {
        document.addEventListener('DOMContentLoaded', onDOMContentLoaded, true);
    }

})();
function EventWrapper(){
}

(function(){
    var click = '';
    var start = '';
    var move  = '';
    var end   = '';

    // Touch Panel ?
    if (/iPhone|iPad|iPod|Android/.test(navigator.userAgent)) {
        click = 'click';
        start = 'touchstart';
        move  = 'touchmove';
        end   = 'touchend';
    } else {
        click = 'click';
        start = 'mousedown';
        move  = 'mousemove';
        end   = 'mouseup';
    }

    EventWrapper.CLICK = click;
    EventWrapper.START = start;
    EventWrapper.MOVE  = move;
    EventWrapper.END   = end;
})();