You'll need to update the code where the sound is played via flash to either accept both or just straight to HTML5 Sound.
I can't remember where I found the original information about it, but I do remember having to edit a few things in chat.js Here are some examples are what I mean. I'm running 0.8.8 for PHPBB3.1+ that's been modified to fix this issue. I can't remember all the changes at the moment, but this might get you a start towards where you want to be:
flashSounds: null,
setAudioBackend: function(audioBackend) {
this.setSetting('audioBackend', audioBackend);
this.checkFlashSounds();
if(this.flashSounds) {
this.loadFlashInterface();
} else {
this.initializeHTML5Sounds();
}
},
checkFlashSounds: function() {
if(this.settings['audioBackend'] < 0) {
// autodetect if flash is supported, and default to flash.
if(navigator.appVersion.indexOf("MSIE") != -1) {
try {
flash = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
} catch(e) {
this.flashSounds = false;
}
} else if((navigator.plugins && !navigator.plugins["Shockwave Flash"]) || (navigator.mimeTypes &&
!navigator.mimeTypes['application/x-shockwave-flash'])) {
this.flashSounds = false;
}
} else {
this.flashSounds = this.settings['audioBackend'] == 1;
}
},
initializeHTML5Sounds: function() {
var audio, mo3, ogg;
try {
audio = document.createElement('audio');
mp3 = !!(audio.canPlayType && audio.canPlayType('audio/mpeg;').replace(/no/, ''));
ogg = !!(audio.canPlayType && audio.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/, ''));
this.sounds = [];
if(mp3) {
format = ".mp3";
} else if(ogg) {
format = ".ogg";
} else {
format = ".wav";
}
for(var key in this.soundFiles) {
this.sounds[key] = new Audio(this.dirs['sounds']+key+format);
}
this.setAudioVolume(this.settings['audioVolume']);
} catch(e) {
this.debugMessage('initializeHTML5Sounds', e);
}
},
playSound: function(soundID) {
if(this.sounds && this.sounds[soundID]) {
if(this.flashSounds) {
try {
// play() parameters are
// startTime:Number (default = 0),
// loops:int (default = 0) and
// sndTransform:SoundTransform (default = null)
return this.sounds[soundID].play(0, 0, this.soundTransform);
} catch(e) {
this.debugMessage('playSound', e);
}
} else {
try {
this.sounds[soundID].currentTime = 0;
return this.sounds[soundID].play();
} catch(e) {
this.debugMessage('playSound', e);
}
}
}
return null;
},