aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts/lib/audio.js
blob: 7b23055c2da22ee52c26dd2841b0738318d53034 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var initialised = false,
    loaded = false,
    queue = [],
    load_audioplayer = function() {
        AudioPlayer.setup(STUDIP.ASSETS_URL + 'flash/player.swf', {
            animation: 'no',
            transparentpagebg: 'yes',
            width: 300
        });
        loaded = true;

        // Process queue
        var item = queue.shift();
        while (item) {
            Audio.handle(item);
            item = queue.shift();
        }
    },
    initialise = function() {
        if (!initialised) {
            var script = document.createElement('script');
            script.src = STUDIP.ASSETS_URL + 'javascripts/audio-player.js';
            script.onload = load_audioplayer;
            document.getElementsByTagName('head')[0].appendChild(script);
            initialised = true;
        }
        return loaded;
    };

const Audio = {
    handle: function(element) {
        if (!initialise()) {
            queue.push(element);
        } else {
            AudioPlayer.embed(element.id, {
                soundFile: encodeURIComponent(element.src),
                titles: element.title,
                width: element.clientWidth || 300
            });
        }
    }
};

export default Audio;