Allows for audio tracks on slides #4
|
@ -54,3 +54,7 @@ body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.audio iframe {
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
|
@ -14,6 +14,9 @@ function init() {
|
||||||
if (data.video && data.video.length) {
|
if (data.video && data.video.length) {
|
||||||
data.embed = init_embed(data)
|
data.embed = init_embed(data)
|
||||||
}
|
}
|
||||||
|
if (data.audio) {
|
||||||
|
data.audioEmbed = init_audio_embed(data)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
go(0)
|
go(0)
|
||||||
}
|
}
|
||||||
|
@ -55,6 +58,9 @@ function start(idx) {
|
||||||
} else if (data.video && data.video.length) {
|
} else if (data.video && data.video.length) {
|
||||||
start_video(data)
|
start_video(data)
|
||||||
}
|
}
|
||||||
|
if (data.audio) {
|
||||||
|
start_audio(data)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function stop(idx) {
|
function stop(idx) {
|
||||||
|
@ -65,6 +71,9 @@ function stop(idx) {
|
||||||
} else if (data.video && data.video.length) {
|
} else if (data.video && data.video.length) {
|
||||||
reset_video(data)
|
reset_video(data)
|
||||||
}
|
}
|
||||||
|
if (data.audio) {
|
||||||
|
reset_audio(data)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_urls(dataset) {
|
function load_urls(dataset) {
|
||||||
|
@ -89,6 +98,11 @@ function load_slide(slide) {
|
||||||
data.zooms = data.video.map(url => url.split('/').pop().split('#')[0].split(',').map(a => Math.round(a)))
|
data.zooms = data.video.map(url => url.split('/').pop().split('#')[0].split(',').map(a => Math.round(a)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
var audio = slide.querySelector('.audio')
|
||||||
|
if (audio) {
|
||||||
|
data.audio = audio.dataset.url // audio does not need to be an array
|
||||||
|
data.audioContainer = audio
|
||||||
|
}
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,6 +124,14 @@ function init_embed(data) {
|
||||||
return embed;
|
return embed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function init_audio_embed(data) {
|
||||||
|
return new PandoraEmbed({
|
||||||
|
id: 'slide-audio-' + data.idx,
|
||||||
|
url: data.audio,
|
||||||
|
container: data.audioContainer
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
window.addEventListener('blur', function(){
|
window.addEventListener('blur', function(){
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
// using the 'setTimout' to let the event pass the run loop
|
// using the 'setTimout' to let the event pass the run loop
|
||||||
|
@ -149,6 +171,12 @@ function start_video(data) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function start_audio(data) {
|
||||||
|
data.audioEmbed.postMessage('options', {
|
||||||
|
'paused': false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
function reset_video(data) {
|
function reset_video(data) {
|
||||||
data.embed.postMessage('options', {
|
data.embed.postMessage('options', {
|
||||||
'paused': true,
|
'paused': true,
|
||||||
|
@ -156,6 +184,13 @@ function reset_video(data) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function reset_audio(data) {
|
||||||
|
data.audioEmbed.postMessage('options', {
|
||||||
|
'paused': true,
|
||||||
|
'position': 0 //FIXME: figure correct audio reset
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
document.addEventListener('keydown', function(event) {
|
document.addEventListener('keydown', function(event) {
|
||||||
if (event.key == 'ArrowRight') {
|
if (event.key == 'ArrowRight') {
|
||||||
next()
|
next()
|
||||||
|
|
|
@ -3,13 +3,14 @@
|
||||||
<link type="text/css" href="example.css" rel="stylesheet" />
|
<link type="text/css" href="example.css" rel="stylesheet" />
|
||||||
<div class="base">
|
<div class="base">
|
||||||
</div>
|
</div>
|
||||||
<div class="slide" data-duration="5">
|
<div class="slide" data-duration="10">
|
||||||
<div class="title">FROM JANTA COLONY TO JANTA COLONY</div>
|
<div class="title">FROM JANTA COLONY TO JANTA COLONY</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="slide" data-duration="5">
|
<div class="slide" data-duration="10">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
At first, three stories from the year 1950 in Bombay
|
At first, three stories from the year 1950 in Bombay
|
||||||
</div>
|
</div>
|
||||||
|
<div class="audio" data-url="https://pad.ma/BVF/editor/F#embed"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="slide" data-duration="10">
|
<div class="slide" data-duration="10">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
<div class="slide" data-duration="15">
|
<div class="slide" data-duration="15">
|
||||||
<div class="video" data-url_0="https://pad.ma/BVF/editor/F#embed"
|
<div class="video" data-url_0="https://pad.ma/BVF/editor/F#embed"
|
||||||
></div>
|
></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="slide" data-duration="15">
|
<div class="slide" data-duration="15">
|
||||||
<div class="video" data-url_0="https://indiancine.ma/AKDP/editor/BFR#embed"
|
<div class="video" data-url_0="https://indiancine.ma/AKDP/editor/BFR#embed"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user