@Override
 public boolean play() {
   AudioElement elem = audio.getAudioElement();
   elem.pause();
   try {
     // IE9 has been seen to throw an exception here
     elem.setCurrentTime(0);
   } catch (Exception ignore) {
   }
   if (elem.getCurrentTime() != 0) {
     /*
      * Workaround Chrome's inability to play the same audio twice:
      * http://code.google.com/p/chromium/issues/detail?id=71323
      * http://code.google.com/p/chromium/issues/detail?id=75725
      */
     createAudioElement();
   }
   elem.play();
   // best guess is that the sound played, so return true
   return true;
 }