preload audio and image
This commit is contained in:
16
.gitignore
vendored
16
.gitignore
vendored
@@ -1,10 +1,10 @@
|
||||
.DS_Store
|
||||
*~
|
||||
typogra
|
||||
klasky
|
||||
alas
|
||||
ROY4L
|
||||
directory
|
||||
CarlWinslows
|
||||
Coach
|
||||
|
||||
typogra*
|
||||
klasky*
|
||||
alas*
|
||||
ROY4L*
|
||||
dnmyt*
|
||||
directory*
|
||||
CarlWinslows*
|
||||
Coach*
|
||||
|
||||
@@ -1,26 +1,49 @@
|
||||
(function(){
|
||||
var hasWebKit = ('webkitAudioContext' in window) && !('chrome' in window)
|
||||
var context = new webkitAudioContext()
|
||||
var request = new XMLHttpRequest()
|
||||
var source
|
||||
var audio = (function(){
|
||||
|
||||
request.open('GET', url, true)
|
||||
request.responseType = 'arraybuffer'
|
||||
request.onload = function() {
|
||||
context.decodeAudioData(request.response, function(response) {
|
||||
(function loop(){
|
||||
if (source) {
|
||||
source.start(0)
|
||||
setTimeout(loop, source.buffer.duration * 1000 - (source.buffer.duration < 2 ? 0 : 60) )
|
||||
}
|
||||
else {
|
||||
setTimeout(loop, 0)
|
||||
}
|
||||
source = context.createBufferSource()
|
||||
source.connect(context.destination)
|
||||
source.buffer = response
|
||||
})()
|
||||
}, function () { console.error('The request failed.') } )
|
||||
var audio = {}
|
||||
|
||||
var context = new webkitAudioContext()
|
||||
var source
|
||||
var current = ""
|
||||
|
||||
var bufs = {}
|
||||
var sources = {}
|
||||
|
||||
audio.preload = function(site, loader){
|
||||
loader.register(site.domain + "_sound")
|
||||
var request = new XMLHttpRequest()
|
||||
request.open('GET', url, true)
|
||||
request.responseType = 'arraybuffer'
|
||||
request.onload = function() {
|
||||
context.decodeAudioData(request.response, function(buf) {
|
||||
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)
|
||||
}
|
||||
})()
|
||||
*/
|
||||
|
||||
})()
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
var ytmnd = {}
|
||||
var sites = []
|
||||
|
||||
var base_href = 'https://ltho.s3.amazonaws.com/ytmnd/'
|
||||
|
||||
ytmnd.init = function(names){
|
||||
var loader = new Loader(ytmnd.ready)
|
||||
loader.register('init')
|
||||
@@ -17,28 +19,53 @@
|
||||
}
|
||||
|
||||
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.back = function(){
|
||||
}
|
||||
|
||||
ytmnd.next = function(){
|
||||
}
|
||||
|
||||
ytmnd.loop = function(){
|
||||
}
|
||||
|
||||
return ytmnd
|
||||
})()
|
||||
|
||||
|
||||
/*
|
||||
simplified_info = {
|
||||
'domain': domain,
|
||||
'title': title,
|
||||
'username': username,
|
||||
// 'domain': domain,
|
||||
// 'title': title,
|
||||
// 'username': username,
|
||||
'work_safe': work_safe,
|
||||
'bgcolor': bgcolor,
|
||||
'placement': placement,
|
||||
'zoom_text': zoom_text,
|
||||
// 'bgcolor': bgcolor,
|
||||
// 'placement': placement,
|
||||
// 'zoom_text': zoom_text,
|
||||
'image': domain + "." + gif_type,
|
||||
'sound': domain + "." + wav_type,
|
||||
'image_type': gif_type,
|
||||
|
||||
Reference in New Issue
Block a user