summaryrefslogtreecommitdiff
path: root/loader.html
diff options
context:
space:
mode:
Diffstat (limited to 'loader.html')
-rw-r--r--loader.html100
1 files changed, 100 insertions, 0 deletions
diff --git a/loader.html b/loader.html
new file mode 100644
index 0000000..0230da1
--- /dev/null
+++ b/loader.html
@@ -0,0 +1,100 @@
+<html lang="en" dir="ltr">
+<head>
+<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
+<script type="text/javascript" src="buffer-loader.js"></script>
+<script type="text/javascript">
+
+window.addEventListener('load', init, false);
+var context;
+var bufferLoader;
+
+function init() {
+ context = new webkitAudioContext();
+ $("#info").html("Loading Music Files.....");
+ var initial_music_files = [
+ 'http://www.junglebreaks.co.uk/listen/amen_brother.wav',
+ 'http://www.junglebreaks.co.uk/listen/apache.wav',
+ 'http://www.junglebreaks.co.uk/listen/assembly_line.wav',
+ ];
+
+ for(var i=0; i<initial_music_files.length; i++) {
+ var worker = new Worker('loadMusic.js');
+
+ worker.addEventListener('message', function(e) {
+ var result = e.data.result;
+ if(result == "success") {
+ var url = e.data.url;
+ var buffer = e.data.response;
+ $("#info").html("Loading Completed. Now Playing...");
+ $("#files").append("<li>"+url+"</li>");
+
+ bufferLoader = new BufferLoader(
+ context,
+ buffer,
+ finishedLoading
+ );
+
+ bufferLoader.load();
+
+ } else {
+ $("#info").html("Cannot load the music file. Please try again with another one...");
+ }
+ }, false);
+
+ worker.postMessage({'cmd': 'load', 'url': initial_music_files[i]});
+ }
+}
+
+function finishedLoading(bufferList) {
+ var source = context.createBufferSource();
+ source.buffer = bufferList;
+ source.loop = true;
+ source.connect(context.destination);
+ source.start(0);
+}
+
+function LoadNewMusciFile() {
+ var url = $("#music_file").val();
+ $("#info").html("Loading Music Files.....");
+ var worker = new Worker('loadMusic.js');
+
+ worker.addEventListener('message', function(e) {
+ var result = e.data.result;
+
+ if(result == "success") {
+ var url = e.data.url;
+ var buffer = e.data.response;
+ $("#info").html("Loading Completed. Now Playing...");
+ $("#files").append("<li>"+url+"</li>");
+
+ bufferLoader = new BufferLoader(
+ context,
+ buffer,
+ finishedLoading
+ );
+
+ bufferLoader.load();
+
+ } else {
+ $("#info").html("Cannot load the music file. Please try again with another one...");
+ }
+ }, false);
+
+ worker.postMessage({'cmd': 'load', 'url': url});
+
+}
+
+</script>
+</head>
+<body>
+<div id="info" style="width:100%;height:30px;padding-bottom:20px;"></div>
+<input type="text" name="music_file" id="music_file" style="width:500px;"/>
+<input type="button" name="Load" value="Load" onclick="LoadNewMusciFile()">
+
+<div id="files_wrp" style="width:100%;height:auto;padding-top:20px;">
+ <div style="width:100%;height:30px;padding-top:20px;font-size:16px; font-weight:bold;">Loaded music file list.</div>
+ <ul id="files" style="display:block;"></ul>
+</div>
+
+</body>
+</html>