preload audio and image

This commit is contained in:
Jules Laplace
2015-07-11 03:24:27 -04:00
parent ee86ef7130
commit 6d3d945398
3 changed files with 89 additions and 39 deletions

16
.gitignore vendored
View File

@@ -1,10 +1,10 @@
.DS_Store .DS_Store
*~ *~
typogra typogra*
klasky klasky*
alas alas*
ROY4L ROY4L*
directory dnmyt*
CarlWinslows directory*
Coach CarlWinslows*
Coach*

View File

@@ -1,26 +1,49 @@
(function(){ var audio = (function(){
var hasWebKit = ('webkitAudioContext' in window) && !('chrome' in window)
var context = new webkitAudioContext()
var request = new XMLHttpRequest()
var source
request.open('GET', url, true) var audio = {}
request.responseType = 'arraybuffer'
request.onload = function() { var context = new webkitAudioContext()
context.decodeAudioData(request.response, function(response) { var source
(function loop(){ var current = ""
if (source) {
source.start(0) var bufs = {}
setTimeout(loop, source.buffer.duration * 1000 - (source.buffer.duration < 2 ? 0 : 60) ) var sources = {}
}
else { audio.preload = function(site, loader){
setTimeout(loop, 0) loader.register(site.domain + "_sound")
} var request = new XMLHttpRequest()
source = context.createBufferSource() request.open('GET', url, true)
source.connect(context.destination) request.responseType = 'arraybuffer'
source.buffer = response request.onload = function() {
})() context.decodeAudioData(request.response, function(buf) {
}, function () { console.error('The request failed.') } ) bufs[site.domain] = buf
loader.ready(site.domain + "_sound")
}, function () { console.error('The request failed.') } )
}
request.send()
} }
request.send()
audio.play = function(domain){
var buf = bufs[domain]
var source = context.createBufferSource()
source.connect(context.destination)
source.buffer = buf
source.start(0)
sources[domain] = sources[domain] || []
sources[domain].push(source)
}
/*
(function loop(){
if (source) {
source.start(0)
setTimeout(loop, source.buffer.duration * 1000 - (source.buffer.duration < 2 ? 0 : 60) )
}
else {
setTimeout(loop, 0)
}
})()
*/
})() })()

View File

@@ -3,6 +3,8 @@
var ytmnd = {} var ytmnd = {}
var sites = [] var sites = []
var base_href = 'https://ltho.s3.amazonaws.com/ytmnd/'
ytmnd.init = function(names){ ytmnd.init = function(names){
var loader = new Loader(ytmnd.ready) var loader = new Loader(ytmnd.ready)
loader.register('init') loader.register('init')
@@ -17,28 +19,53 @@
} }
ytmnd.ready = function(){ ytmnd.ready = function(){
var next = ytmnd.next() shuffle(sites)
}
ytmnd.preload = function(site){
site.image_url = base_href + "/" + site.username + "/" + site.domain + "." + site.image_type
site.sound_url = base_href + "/" + site.username + "/" + site.domain + "." + site.sound_type
var loader = new Loader (function(){
})
loader.register('init')
loader.preloadImage( site.image_url )
audio.preload( loader, site.sound_url )
loader.ready('init')
} }
ytmnd.play = function(data){ ytmnd.play = function(site){
document.querySelector("title").innerHTML = site.title
document.body.style.backgroundColor = site.bgcolor
document.body.className = site.placement
zoomtext.render(site)
} }
ytmnd.stop = function(){ ytmnd.stop = function(){
} }
ytmnd.back = function(){
}
ytmnd.next = function(){
}
ytmnd.loop = function(){
}
return ytmnd return ytmnd
})() })()
/* /*
simplified_info = { simplified_info = {
'domain': domain, // 'domain': domain,
'title': title, // 'title': title,
'username': username, // 'username': username,
'work_safe': work_safe, 'work_safe': work_safe,
'bgcolor': bgcolor, // 'bgcolor': bgcolor,
'placement': placement, // 'placement': placement,
'zoom_text': zoom_text, // 'zoom_text': zoom_text,
'image': domain + "." + gif_type, 'image': domain + "." + gif_type,
'sound': domain + "." + wav_type, 'sound': domain + "." + wav_type,
'image_type': gif_type, 'image_type': gif_type,