Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTML5 Audio and jQuery

I am trying to use a button to start a track in an HTML5 audio tag using jQuery, but I keep getting an error.

var song = $('#audio');  $('#play').click(function() { song.play(); }); 

When I use document.getElementById('audio'), it works, but when using the jQuery selector I get the following error:

Uncaught TypeError: Object [object Object] has no method 'play'

Thanks for any help.

like image 571
user699242 Avatar asked Jul 05 '11 21:07

user699242


2 Answers

Try getting the native DOM element as jQuery knows nothing about .play method on the wrapped array returned by the $('#audio') selector:

song.get(0).play(); 
like image 86
Darin Dimitrov Avatar answered Oct 03 '22 19:10

Darin Dimitrov


You can also write it like song.trigger('play');. That will allow you to use the $('#audio'); selector.

like image 40
Cole Garstin Avatar answered Oct 03 '22 18:10

Cole Garstin