Blaine Bublitz - Sound Will Age You
JSConf US 201329 May 2013
“Sounds are important” - TV/games with sound off, not as good
“Sounds are iconic” - examples of mario, sonic, pacman sounds, everyone recognizes them
“Sounds are hard” - on and off the web
FrozenJS - game development is his perspective
- WebAudio vs HTML5 Audio
started with just webaudio, no fallbacks
- high performance
- low latency
- buffers not resource loading
Then do fallback:
get all audio types, sort by probably / maybe / drop the no response (using canPlay type) and try most likely to least likely, exit once one starts playing.
on mobile, autoplay/load disabled (data usage cited as reason) attach to touchstart and load/play there (for each audio element)
Chrome flag for android chrome : “Disable gesture requirement for audio load” wants everyone to enable this
layering of sounds
on mobile? single stream only. play one, any other played will cut it off and play chrome flag for android chrome - enable webaudio android (wants you to enable this)
Summary: start at web audio -> fallback to HTML5 -> don’t fallback to flash -> push web audio (enable in chrome://flags in Chrome Beta for Android)
Need to improvoe: Mobile, canPlayType & string comparison, better abstractions & fallbacks
Howler.js, webaudio.js, etc
Game sounds with fallbacks: Frozen, SoundJS, Quintus, Audia
This is a quick summary of a talk I attended at JSConf 2013. You can see a list of all those I've summarized notes from here. There's also a General thoughts during JSConf 2013 post for all the non-talk bits and pieces.
There were 3 concurrent tracks at the conference, so only those I attended myself are summarized here. Other attendees have summarized some of the talks I didn't get to due to scheduling conflicts - you can find those at jlongster.com (James Long) and Toby Ho's github repo.