HTML5 Audio elements have basic callbacks.
You can combine this with a basic event callback library, such as jQuery, to attach these events by default:
$("audio").bind("play", function(){ _gaq.push(["_trackEvent","Audio", "play", $(this).attr('src')]); });
You can also do similar tracking events when people finish audio:
$("audio").bind("ended", function(){ _gaq.push(["_trackEvent","Audio", "ended", $(this).attr('src')]); });
This can be made more concise by combining them into one call:
$("audio").bind("play ended", function(e){ _gaq.push(["_trackEvent","Audio", e.type, $(this).attr('src')]); });
You can also add events in the attributes of the <audio> like onplay and onended , but I would not recommend this approach.
Yahel source share