title: HTML5 audio will not play a second time in Firefox
body: <p>I am working on a web app where I need to play a word and sentence audio file. I'm using backbone to fetch and render content from the server. The audio files live on S3. When content is rendered, I play the word audio file, then sentence audio file. I also have a button for each so the word and sentence audio can be replayed.</p>
  
  <p>My problem is that Firefox will not replay audio files after the initial play. When <code>playWord</code> and <code>playSentence</code> are called, nothing happens. The code words fine in Safari and Chrome.</p>
  
  <pre><code>  events: {
     "click a#play-sentence":     "playSentence",
     "click a#play-word":         "playWord"
    },
  
  
    // render markup when model has synced with server
    render: function() {
      this.$el.html(this.template({ exam: this.model }));
      this.cacheMedia();
  
      return this;
    },
  
  
    // save audio objects. play word then sentence
    cacheMedia: function() {
      this.audioWord = this.$el.find('#audioWord').get(0);
      this.audioSentence = this.$el.find('#audioSentence').get(0);
  
      this.audioWord.addEventListener('ended', function(){
        this.currentTime = 0;
      }, false);
  
      this.audioSentence.addEventListener('ended', function(){
        this.currentTime = 0;
      }, false);
  
      var view = this;
      var playSentence = function() {
        view.audioSentence.play();
        view.audioWord.removeEventListener('ended', playSentence);
      };
  
      this.audioWord.addEventListener('ended', playSentence);
      this.audioWord.play();
    },
  
  
    // play sentence audio
    playSentence: function(e) {
      e.preventDefault();
  
      this.audioWord.pause();
      this.audioWord.currentTime = 0;
  
      this.audioSentence.play();
    },
  
  
    // play word audio
    playWord: function(e) {
      e.preventDefault();
  
      this.audioSentence.pause();
      this.audioSentence.currentTime = 0;
  
      this.audioWord.play();
    }
  </code></pre>