diff options
| author | Pepper <pepper@scannerjammer.com> | 2015-05-20 11:16:13 -0400 |
|---|---|---|
| committer | Pepper <pepper@scannerjammer.com> | 2015-05-20 11:16:13 -0400 |
| commit | a4916103efb2d97896c456ff0e83064b21e85d25 (patch) | |
| tree | b3eb529e4b96375109626bbeada35d4f8a2667ee /frontend/static/js/src/audio.js | |
| parent | 3790eedc2f48c725c586b8c7b924875fedbeb7b4 (diff) | |
first commit in a while
Diffstat (limited to 'frontend/static/js/src/audio.js')
| -rw-r--r-- | frontend/static/js/src/audio.js | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/frontend/static/js/src/audio.js b/frontend/static/js/src/audio.js new file mode 100644 index 0000000..dfba914 --- /dev/null +++ b/frontend/static/js/src/audio.js @@ -0,0 +1,142 @@ +var Audio = + { + type: "audio", + loaded: false, + pending: false, + playing: false, + paused: false, + player: null, + playerId: null, + timeout: null, + video: null, + width: "100%", + height: "100%", + volume: 100, + play: function (video) + { + d.warn("AUDIO PLAY "+video.key) + if (video.error) + return Audio.error() + if (Audio.playing) + Audio.stop() + $("#screen").html("<div id='audio'></div><div id='audio-img'></div><div id='audio-dl'></div>") + $("#ytscreen").css("z-index", -2) + Audio.video = video + Audio.playing = false + + var partz = video.src.split(" ") + var img = partz[0] + var url = partz[1] + var title = partz.slice(2).join(" ") + + if (Audio.player) + { + Audio.player.stop() + Audio.player.destruct() + } + Audio.player = soundManager.createSound + ({ + id: "player-"+video.id, + url: url, + volume: Audio.volume, + onfinish: Audio.finish, + onerror: Audio.error, + onload: Audio.onload, + }) + if (! Audio.player) + return Audio.error("no player") + Audio.player.play() + + $("#video-title").html(title) + $("#video-link").attr("href", url) + $("#audio-dl").html('<a href="'+url+'" target="_parent">download</a>') + $("#audio-img").html("<img src='"+img+"' id='audio-art' />") + $("#audio-art").bind("error", function(){$("#audio-art").hide()}) + }, + onload: function (success) + { + if (! success) + return Audio.error("failed to load") + }, + toggle: function () + { + d.warn("TOGGLE PLAYBACK") + if (Audio.paused) + return Audio.resume() + else + return Audio.pause() + }, + error: function (s) + { + if (! s) + s = "unspecified error" + Player.error("AUDIO "+s) + Audio.finish() + }, + setVolume: function (vol) + { + Audio.volume = vol + if (Audio.player) + Audio.player.setVolume(vol) + }, + pause: function () + { + d.warn("PAUSED PLAYBACK") + Audio.paused = true + Audio.playing = false + if (Audio.player) + Audio.player.pause() + return true + }, + resume: function () + { + d.warn("RESUME PLAYBACK") + Audio.paused = false + Audio.playing = true + if (Audio.player) + Audio.player.resume() + return false + }, + stop: function () + { + d.warn("AUDIO STOP") + if (Audio.player) + Audio.player.stop() + Audio.playing = false + }, + finish: function () + { + d.warn("AUDIO FINISH") + Audio.playing = false + if (Audio.player) + { + Audio.player.stop() + Audio.player.destruct() + } + Player.finish() + }, + load: function () + { + d.warn("LOADING AUDIO") + Audio.loaded = true + }, + unload: function () + { + d.warn("AUDIO UNLOADED") + if (Audio.player) + { + Audio.player.stop() + Audio.player.destruct() + } + Audio.loaded = false + Audio.playing = false + }, + init: function () + { + d.warn("AUDIO INIT") + } + } +Player.register(Audio) +soundManager.url = '/static/swf/' +soundManager.useFlashBlock = false +soundManager.debugMode = false |
