Bug Tracker

Opened 10 years ago

Closed 10 years ago

#10374 closed feature (wontfix)

$('#audio').play() should use first compatible source tag

Reported by: anonymous Owned by:
Priority: low Milestone: None
Component: event Version: 1.6.4
Keywords: Cc:
Blocked by: Blocking:

Description

When using the HTML5 <audio> tag such as this:

<audio id="sound" preload="auto">
  <source src="sound.ogg" type="audio/ogg">
  <source src="sound.wav" type="audio/wav">
</audio>

I expected $('#sound').play() to trigger playing, but it returned no such method. Instead I have to specify $('#sound')[0].play() or $('#sound').[1].play(). It would be great if jQuery supported $('#sound').play() to play the first source type compatible with the current browser, as well as the other methods.

Change History (4)

comment:1 Changed 10 years ago by dmethvin

To do that we'd need to add a jQuery method name for each DOM element method name. And of course that method would do nothing for non-media elements so it doesn't seem like it would be worth the extra bytes it would take. You could write a small plugin to do it though.

comment:2 Changed 10 years ago by Rick Waldron

You could use Popcorn.js which specializes in optimized media element programming (shameless plug).

Last edited 10 years ago by Rick Waldron (previous) (diff)

comment:3 Changed 10 years ago by Rick Waldron

This will also do what you want...

http://jsfiddle.net/rwaldron/nNvgW/

comment:4 Changed 10 years ago by Rick Waldron

Component: unfiledevent
Priority: undecidedlow
Resolution: wontfix
Status: newclosed
Note: See TracTickets for help on using tickets.