diff --git a/tests/audio-multi/amp.aac b/tests/audio-multi/amp.aac new file mode 100644 index 0000000..25efbc4 Binary files /dev/null and b/tests/audio-multi/amp.aac differ diff --git a/tests/audio-multi/amp.mp3 b/tests/audio-multi/amp.mp3 new file mode 100644 index 0000000..22def90 Binary files /dev/null and b/tests/audio-multi/amp.mp3 differ diff --git a/tests/audio-multi/amp.ogg b/tests/audio-multi/amp.ogg new file mode 100644 index 0000000..4104413 Binary files /dev/null and b/tests/audio-multi/amp.ogg differ diff --git a/tests/audio-multi/amp.wav b/tests/audio-multi/amp.wav new file mode 100644 index 0000000..2140a51 Binary files /dev/null and b/tests/audio-multi/amp.wav differ diff --git a/tests/audio-multi/chirp.aac b/tests/audio-multi/chirp.aac new file mode 100644 index 0000000..e799321 Binary files /dev/null and b/tests/audio-multi/chirp.aac differ diff --git a/tests/audio-multi/chirp.mp3 b/tests/audio-multi/chirp.mp3 new file mode 100644 index 0000000..14e9cd0 Binary files /dev/null and b/tests/audio-multi/chirp.mp3 differ diff --git a/tests/audio-multi/chirp.ogg b/tests/audio-multi/chirp.ogg new file mode 100644 index 0000000..0917357 Binary files /dev/null and b/tests/audio-multi/chirp.ogg differ diff --git a/tests/audio-multi/chirp.wav b/tests/audio-multi/chirp.wav new file mode 100644 index 0000000..408e7f0 Binary files /dev/null and b/tests/audio-multi/chirp.wav differ diff --git a/tests/audio-multi/config.yml b/tests/audio-multi/config.yml new file mode 100644 index 0000000..0776b03 --- /dev/null +++ b/tests/audio-multi/config.yml @@ -0,0 +1,5 @@ +--- + r: 1 + spec: "" + sources: [ "https://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/AudioandVideoTagBasics/AudioandVideoTagBasics.html", "http://remysharp.com/2010/12/23/audio-sprites/", "https://github.com/soundcloud/areweplayingyet", "http://www.brianhadaway.com/audio/test.html", "http://textopia.org/androidsoundformats.html", "http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio" ] + title: "Audio, Multi-Track" diff --git a/tests/audio-multi/test.js b/tests/audio-multi/test.js new file mode 100644 index 0000000..96d56bc --- /dev/null +++ b/tests/audio-multi/test.js @@ -0,0 +1,54 @@ +asyncTest("Audio: Multiple Playback", function( async ) { + var type, + dead = false, + tick = 0, + codecs = { + "mp3": 'audio/mpeg; codecs="mp3"', + "ogg": 'audio/ogg; codecs="vorbis"', + "wav": 'audio/wav; codecs="1"', + "aac": 'audio/mp4; codecs="mp4a.40.2"' + }, + audios = [ + new Audio(), + new Audio() + ]; + + type = Object.keys( codecs ).filter(function( ext ) { + return (/probably|maybe/).test( audios[ 0 ].canPlayType( codecs[ ext ] ) ); + })[ 0 ]; + + audios[ 0 ].src = "/tests/audio-multi/amp." + type; + audios[ 1 ].src = "/tests/audio-multi/chirp." + type; + + async.step(function() { + audios.forEach(function( audio ) { + audio.addEventListener( "playing", function() { + tick++; + + if ( tick === 2 && !dead ) { + async.step(function() { + assert( true, "Multiple audio playback supported (used: " + type + ")" ); + dead = true; + async.done(); + }); + } + }, false ); + + audio.addEventListener( "loadeddata", function() { + audio.play(); + audio.volume = 0; + audio.muted = true; + }, false ); + }); + + setTimeout(function() { + if ( !dead ) { + async.step(function() { + assert( false, "Browser failed to load audio" ); + dead = true; + async.done(); + }); + } + }, 5000); + }); +});