O objeto de áudio HTML5 não é reproduzido no iPad (quando chamado de um setTimeout)

Eu tenho uma página com um oculto<audio> objeto que está sendo iniciado e interrompido usando um botão personalizado via javascript. (O motivo é que eu quero personalizar o botão, e desenhar um player de áudio parece destruir o desempenho de renderização no iPad). Um exemplo simplificado (em coffeescript):

// Works fine on all browsers

constructor: (@_button, @_audio) ->
  @_button.on 'click', @_play          // Bind button's click event with jQuery

_play: (e) =>
  @_audio[0].play()                    // Call play() on audio element

O áudio toca bem quando disparado de uma função ligada a umclick evento, mas eu realmente quero uma animação para completar antes do arquivo joga então eu coloquei.play() dentro de umsetTimeout. No entanto, não consigo fazer isso funcionar:

// Will not play on iPad

constructor: (@_button, @_audio) ->
  @_button.on 'click', @_play          // Bind button's click event with jQuery

_play: (e) =>
  setTimeout (=>                       // Declare a 300ms timeout
    @_audio[0].play()                  // Call play() on audio element
  ), 300

Eu verifiquei isso@_audio (this._audio) está no escopo e queplay() método existe. Por que isso não funciona no iPad?

Editar: Como acontece, o caso de teste simplificado acima, na verdadefaz trabalhos. Veja a resposta dos @apsillers abaixo e meus comentários sobre isso.

questionAnswers(3)

yourAnswerToTheQuestion