<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>HTML5 Doctor &#187; Mark Boas</title>
	<atom:link href="http://html5doctor.com/author/markb/feed/" rel="self" type="application/rss+xml" />
	<link>http://html5doctor.com</link>
	<description>helping you implement HTML5 today</description>
	<lastBuildDate>Tue, 27 Jul 2010 14:36:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Native Audio in the browser</title>
		<link>http://html5doctor.com/native-audio-in-the-browser/</link>
		<comments>http://html5doctor.com/native-audio-in-the-browser/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 15:00:29 +0000</pubDate>
		<dc:creator>Mark Boas</dc:creator>
				<category><![CDATA[Browser Compatibility]]></category>
		<category><![CDATA[Elements]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[codecs]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://html5doctor.com/?p=497</guid>
		<description><![CDATA[Until very recently the ability to play any type of audio within a browser involved using Adobe Flash or other browser plugins. Although Adobe's Flash player is without doubt the most ubiquitous of these, most developers and designers would agree it is better not to rely on a plugin at all. Now thanks to HTML 5 and the browsers that implement its audio tag we can play audio natively within the browser.]]></description>
			<content:encoded><![CDATA[<p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
            <a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F">
                <img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F&amp;source=html5doctor&amp;style=normal&amp;service=is.gd" height="61" width="50" />
            </a>
        </div>Until recently, the ability to play any type of audio within a browser involved using Adobe Flash or other browser plugins. Although Adobe&#8217;s Flash player is unquestionably the most ubiquitous of these, most developers and designers would agree that it&#8217;s better not to rely on a plugin at all.</p>

<h2>Enter <abbr>HTML</abbr> 5 <code>&lt;audio&gt;</code></h2>

<p>One of the most exciting and long-awaited features in <abbr>HTML</abbr> 5 the <code>&lt;audio&gt;</code> element, enabling native audio playback within the browser. We can take advantage of this for browsers that support it &mdash; such as Safari 4, Firefox 3.5 and Chrome 3 &mdash; while falling back on Flash or other plugins for other browsers.</p>

<h3>According to spec</h3>

<p>Currently, the <abbr>HTML</abbr> 5 spec defines five attributes for the <code>&lt;audio&gt;</code> element:</p>

<ol>
<li><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#attr-media-src"><code>src</code></a> &mdash; a valid <abbr>URL</abbr> specifying the content source</li>
<li><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#attr-media-autobuffer"><code>autobuffer</code></a> &mdash; a boolean specifying whether the file is to be buffered in advance</li>
<li><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#attr-media-autoplay"><code>autoplay</code></a> &mdash; a boolean specifying whether the file should play as soon as it can</li>
<li><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#attr-media-loop"><code>loop</code></a> &mdash; a boolean specifying whether the file should be repeatedly played.</li>
<li><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#attr-media-controls"><code>controls</code></a> &mdash; a boolean specifying whether the browser should display its default media controls</li>
</ol>

<p>Note that these are the same attributes defined for the <code>&lt;video&gt;</code> element.</p>

<h3>Examples</h3>

<p>Let&#8217;s take a couple of these attributes and create a simple example that will play an audio file:</p>

<pre><code>&lt;audio src="elvis.ogg" controls autobuffer&gt;&lt;/audio&gt;
</code></pre>

<p>(This example will work for Firefox 3.5 and Chrome 3. You&#8217;ll need to replace the Ogg file with an MP3 to get it working in Safari 4.)</p>

<p>Of course, the spec is not finalised, and there isn&#8217;t yet a consensus on which codecs to support. This table details the codecs supported by today&#8217;s browsers:</p>

<table>
  <caption>Codec support in modern browsers</caption>
  <thead>
    <tr>
      <th>Browser</th>
      <th>Ogg Vorbis</th>
      <th>MP3</th>
      <th>WAV</th>
    </tr>
  </thead>
  <tbody>
    <td>FireFox 3.5</td>
      <td>✓</td>
      <td></td>
      <td>✓</td>
    </tr>
    <tr>
      <td>Safari 4</td>
      <td></td>
      <td>✓</td>
      <td>✓</td>
    </tr>
    <tr>
      <td>Chrome 3 (beta)</td>
      <td>✓</td>
      <td>✓</td>
      <td></td>
    </tr>
    <tr>
      <td>Opera 10 (beta)</td>
      <td></td>
      <td></td>
      <td>✓</td>
    </tr>
  </tbody>
</table>

<p>To create our own controls, we can use the <abbr>API</abbr> methods defined by the spec:</p>

<ul>
<li><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-play"><code>play()</code></a> &mdash; plays the audio</li>
<li><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-pause"><code>pause()</code></a> &mdash; pauses the audio</li>
<li><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-navigator-canplaytype"><code>canPlayType()</code></a> &mdash; interrogates the browser to establish whether the given mime type can be played</li>
<li><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-buffered"><code>buffered()</code></a> &mdash; attribute that specifies the start and end time of the buffered part of the file</li>
</ul>

<p>Note that Opera 10 does not support the <code>&lt;audio&gt;</code> <abbr>HTML</abbr> element, but it does support the <code>Audio()</code> <abbr>API</abbr> in a basic and unique manner: from the above list, it only supports the <code>play()</code> method. </p></p>

<p>Safari 4, Firefox 3.5, and Chrome 3 beta support both <code>&lt;audio&gt;</code> and <code>Audio()</code>. Internet Explorer 8 has no native audio support whatsoever.</p>

<h2>Use the Source</h2>

<p>The best way to coerce browsers into playing audio (or video, for that matter) is to use the <code>&lt;source&gt;</code> element. The browser will try to load the first audio source, and if it fails or isn&#8217;t supported, it will move on to the next audio source. In addition, we can embed a Flash player if all else fails:</p></p>

<pre><code>&lt;audio controls autobuffer&gt;
  &lt;source src="elvis.ogg" /&gt;
  &lt;source src="elvis.mp3" /&gt;
  &lt;!-- now include flash fall back --&gt;
&lt;/audio&gt;
</code></pre>

<p>One caveat, though: you need to be careful about the order of the <code>&lt;source&gt;</code> elements. Because of a bug in Firefox, if you list the MP3 first (which Firefox doesn&#8217;t support), it will silently fail and refuse to render that particular <code>&lt;audio&gt;</code> element. The trick is to list the Ogg Vorbis file first and the other formats after. Webkit (Safari and Chrome) handle unsupported formats just fine.</p>

<p>Opera is another kettle of fish altogether, which we&#8217;ll need to solve using JavaScript.</p>

<h2>Cross-Browser Implementation</h2>

<p>When we created <a href="http://happyworm.com/jquery/jplayer">jPlayer</a>, an audio player plugin for jQuery, we were attempting to address some of the limitations of the current crop of Flash-based audio players. Many relied on Flash to implement the player&#8217;s graphical interface, effectively isolating the player from the rest of the web design process.</p>

<p>The original jPlayer relied on Flash to play the actual audio while allowing the look and feel to be styled via <abbr>HTML</abbr> and <abbr>CSS</abbr>. With growing support for <abbr>HTML</abbr> 5 in modern browsers, we were inspired to break our Flash dependency and use native audio when it was supported.</p>

<p>The most significant issue is the cross-browser implementation, where lack of a common supported audio format among browsers causes complications. If developers want to take full advantage of all browsers that support <abbr>HTML</abbr> 5 audio, they&#8217;ll need to create both MP3 and Ogg (and in Opera&#8217;s case, WAV) versions of the audio file they want to stream!</p>

<p>Our job was made more difficult by the lack of available information:</p>

<ul>
<li><a href="https://developer.mozilla.org/en/nsIDOMHTMLMediaElement">Firefox 3.5</a> &mdash; quite a detailed document</li>
<li><a href="http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/WebKitDOMRef/HTMLMediaElement_idl/Classes/HTMLMediaElement/index.html#//apple_ref/js/cl/HTMLMediaElement">Safari 4</a> &mdash; technically complete, but lacks explanations and examples</li>
<li><a href="http://www.opera.com/docs/specs/presto22/#html">Opera 10</a> &mdash; only a short note</li>
<li><a href="http://code.google.com/p/doctype/wiki/AudioElement">Chrome 3</a> &mdash; a wiki</li>
</ul>

<p>Since the <abbr>HTML</abbr> 5 standard is still a work in progress, several aspects of the <code>&lt;audio&gt;</code> element vary from browser to browser. For example, there seems to be no way to determine the load progress of an audio file. Although Safari 4 can determine how much of an audio file has downloaded, Firefox 3.5 does not yet implement the <a href="https://developer.mozilla.org/en/nsIDOMHTMLMediaElement"><code>buffered</code></a> DOM attribute. (It is, however, included as part of the Firefox&#8217;s documentation, so we presume it will be implemented.)</p>

<p>Firefox 3.5 does appear to enable &#8220;seeking&#8221; of the file, allowing you to start the download from any point in the media. Other browsers, such as Safari 4, grab the file from the beginning and only allow seeking within the part already downloaded (or wait until the particular part being seeked to has been downloaded).</p>

<p>Although these inconsistencies aren&#8217;t showstoppers, in order to compete effectively with plugin-based solutions, we believe any <abbr>HTML</abbr> 5 audio implementation should be consistent across all browsers and match current implementations feature for feature.</p>

<h3>JavaScript solutions</h3>

<p>If we intend to take advantage of each browser&#8217;s audio capabilities, we need to create different solutions for different browsers. We could use browser sniffing, but considering the rapidly changing landscape, it&#8217;s better to check what capabilities a particular browser supports and adapt accordingly.</p>

<p>To demonstrate this &#8220;feature sniffing&#8221;, we&#8217;ve created a rough and ready <a href="http://www.happyworm.com/jquery/jplayer/HTML5.Audio.Support"><abbr>HTML</abbr> 5 audio checker</a>.</p>

<p>Using JavaScript, you can check for audio tag support:</p>

<pre><code>// returns a boolean
var audioTagSupport = !!(document.createElement('audio').canPlayType);
</code></pre>

<p>or check for the <code>Audio()</code> object:</p>

<pre><code>try {
  // The 'src' parameter is mandatory in Opera 10, so have used an empty string "".
  // Otherwise, an exception is thrown.
  myAudioObj = new Audio(""); 

  audioObjSupport = !!(myAudioObj.canPlayType);
  basicAudioSupport = !!(!audioObjSupport ? myAudioObj.play : false);
} catch (e) {
  audioObjSupport = false;
  basicAudioSupport = false;
}
</code></pre>

<p>or check file type compatibility:</p>

<pre><code>// Need to check the canPlayType first or an exception
// will be thrown for those browsers that don't support it
if (myAudio.canPlayType) {

  // Currently canPlayType(type) returns: "no", "maybe" or "probably"
  canPlayOgg = ("no" != myAudio.canPlayType("audio/ogg")) &amp;#038;&amp; ("" != myAudio.canPlayType("audio/ogg"));
  canPlayMp3 = ("no" != myAudio.canPlayType("audio/mpeg")) &amp;#038;&amp; ("" != myAudio.canPlayType("audio/mpeg"));
}
</code></pre>

<p>Note that to change the <code>src</code> attribute of an audio object or element, you&#8217;ll need to recreate the object or element with the new value for its <code>src</code> attribute.</p>

<p>So, to create a solution that takes full advantage of <abbr>HTML</abbr> 5 audio, you&#8217;ll typically need to:</p>

<ol>
<li>check for HTML 5 audio support, and if not present, fall back on Flash,</li>
<li>check the level of HTML 5 audio support and adapt your code accordingly for each browser, and</li>
<li>check what file types are supported and link to appropriate formats of the files.</li>
</ol>

<h2>The Road Ahead</h2>

<p>Although <abbr>HTML</abbr> 5 audio is a relatively immature part of the standard, if recent trends continue and users upgrade to the latest versions of Safari and Firefox, browser support will likely rise above the 25% mark in the very near future. This is a significant chunk of the browser market that will no longer need to rely on Adobe&#8217;s Flash, Microsoft&#8217;s Silverlight, or any other browser plugin for audio support.</p>

<p>And when you consider that mobile and other lower-spec devices &mdash; like Apple&#8217;s iPod and iPhone (Safari), Nintendo&#8217;s Wii (Opera), and Google Android-powered devices (Chrome) &mdash; are choosing to support <abbr>HTML</abbr> 5 audio rather than Flash, you begin to paint a picture of how important native audio support will soon become.</p>

<h2>Further reading:</h2>

<ul>
<li><a href="http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2009-June/020620.html">&#91;whatwg&#93; Codecs for <code>&lt;audio&gt;</code> and <code>&lt;video&gt;</code></a></li>
<li><a href="http://my.opera.com/community/forums/topic.dml?id=274889&#038;t=1247218254&#038;page=1#comment2974635">Opera 10 work around for Audio</a></li>
<li><a href="http://stackoverflow.com/questions/1007223/which-browsers-support-the-html-5-audio-tag-on-windows-today/1009015#1009015">Which browsers support <abbr>HTML</abbr> 5 <code>&lt;audio&gt;</code> on Windows today?</a></li>
</ul>

<p><div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://html5doctor.com/video-the-track-element-and-webm-codec/" rel="bookmark" class="crp_title">Video: the track element and webM codec</a></li><li><a href="http://html5doctor.com/the-video-element/" rel="bookmark" class="crp_title">The video element</a></li><li><a href="http://html5doctor.com/youtube-and-vimeo-support-html5-video/" rel="bookmark" class="crp_title">YouTube and Vimeo support HTML5 Video</a></li><li><a href="http://html5doctor.com/your-questions-answered-4/" rel="bookmark" class="crp_title">Your Questions Answered #4</a></li><li><a href="http://html5doctor.com/legend-not-such-a-legend-anymore/" rel="bookmark" class="crp_title">Legend not such a legend anymore</a></li></ul></div></p>

<p>Share and Save:</p>

<pre><code>&lt;a rel="nofollow"  href="http://twitter.com/home?status=Native%20Audio%20in%20the%20browser%20-%20http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F" title="Twitter"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;amp;url=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F&amp;amp;title=Native%20Audio%20in%20the%20browser&amp;amp;bodytext=Until%20very%20recently%20the%20ability%20to%20play%20any%20type%20of%20audio%20within%20a%20browser%20involved%20using%20Adobe%20Flash%20or%20other%20browser%20plugins.%20Although%20Adobe%27s%20Flash%20player%20is%20without%20doubt%20the%20most%20ubiquitous%20of%20these%2C%20most%20developers%20and%20designers%20would%20agree%20it%20is%20better%20not%20to%20rely%20on%20a%20plugin%20at%20all.%20Now%20thanks%20to%20HTML%205%20and%20the%20browsers%20that%20implement%20its%20audio%20tag%20we%20can%20play%20audio%20natively%20within%20the%20browser." title="Digg"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://sphinn.com/index.php?c=post&amp;amp;m=submit&amp;amp;link=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F" title="Sphinn"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F&amp;amp;title=Native%20Audio%20in%20the%20browser" title="Reddit"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F&amp;amp;title=Native%20Audio%20in%20the%20browser&amp;amp;notes=Until%20very%20recently%20the%20ability%20to%20play%20any%20type%20of%20audio%20within%20a%20browser%20involved%20using%20Adobe%20Flash%20or%20other%20browser%20plugins.%20Although%20Adobe%27s%20Flash%20player%20is%20without%20doubt%20the%20most%20ubiquitous%20of%20these%2C%20most%20developers%20and%20designers%20would%20agree%20it%20is%20better%20not%20to%20rely%20on%20a%20plugin%20at%20all.%20Now%20thanks%20to%20HTML%205%20and%20the%20browsers%20that%20implement%20its%20audio%20tag%20we%20can%20play%20audio%20natively%20within%20the%20browser." title="del.icio.us"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F&amp;amp;title=Native%20Audio%20in%20the%20browser" title="StumbleUpon"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F" title="Technorati"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://www.netvibes.com/share?title=Native%20Audio%20in%20the%20browser&amp;amp;url=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F" title="Netvibes"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/netvibes.png" title="Netvibes" alt="Netvibes" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F&amp;amp;t=Native%20Audio%20in%20the%20browser" title="Facebook"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;amp;bkmk=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F&amp;amp;title=Native%20Audio%20in%20the%20browser&amp;amp;annotation=Until%20very%20recently%20the%20ability%20to%20play%20any%20type%20of%20audio%20within%20a%20browser%20involved%20using%20Adobe%20Flash%20or%20other%20browser%20plugins.%20Although%20Adobe%27s%20Flash%20player%20is%20without%20doubt%20the%20most%20ubiquitous%20of%20these%2C%20most%20developers%20and%20designers%20would%20agree%20it%20is%20better%20not%20to%20rely%20on%20a%20plugin%20at%20all.%20Now%20thanks%20to%20HTML%205%20and%20the%20browsers%20that%20implement%20its%20audio%20tag%20we%20can%20play%20audio%20natively%20within%20the%20browser." title="Google Bookmarks"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://www.friendfeed.com/share?title=Native%20Audio%20in%20the%20browser&amp;amp;link=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F" title="FriendFeed"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F&amp;amp;t=Native%20Audio%20in%20the%20browser" title="HackerNews"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://www.linkedin.com/shareArticle?mini=true&amp;amp;url=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F&amp;amp;title=Native%20Audio%20in%20the%20browser&amp;amp;source=HTML5+Doctor+helping+you+implement+HTML5+today&amp;amp;summary=Until%20very%20recently%20the%20ability%20to%20play%20any%20type%20of%20audio%20within%20a%20browser%20involved%20using%20Adobe%20Flash%20or%20other%20browser%20plugins.%20Although%20Adobe%27s%20Flash%20player%20is%20without%20doubt%20the%20most%20ubiquitous%20of%20these%2C%20most%20developers%20and%20designers%20would%20agree%20it%20is%20better%20not%20to%20rely%20on%20a%20plugin%20at%20all.%20Now%20thanks%20to%20HTML%205%20and%20the%20browsers%20that%20implement%20its%20audio%20tag%20we%20can%20play%20audio%20natively%20within%20the%20browser." title="LinkedIn"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://www.newsvine.com/_tools/seed&amp;amp;save?u=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F&amp;amp;h=Native%20Audio%20in%20the%20browser" title="NewsVine"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/newsvine.png" title="NewsVine" alt="NewsVine" class="sociable-hovers" /&gt;&lt;/a&gt;
&lt;a rel="nofollow"  href="http://www.tumblr.com/share?v=3&amp;amp;u=http%3A%2F%2Fhtml5doctor.com%2Fnative-audio-in-the-browser%2F&amp;amp;t=Native%20Audio%20in%20the%20browser&amp;amp;s=Until%20very%20recently%20the%20ability%20to%20play%20any%20type%20of%20audio%20within%20a%20browser%20involved%20using%20Adobe%20Flash%20or%20other%20browser%20plugins.%20Although%20Adobe%27s%20Flash%20player%20is%20without%20doubt%20the%20most%20ubiquitous%20of%20these%2C%20most%20developers%20and%20designers%20would%20agree%20it%20is%20better%20not%20to%20rely%20on%20a%20plugin%20at%20all.%20Now%20thanks%20to%20HTML%205%20and%20the%20browsers%20that%20implement%20its%20audio%20tag%20we%20can%20play%20audio%20natively%20within%20the%20browser." title="Tumblr"&gt;&lt;img src="http://html5doctor.com/wp-content/plugins/sociable/images/tumblr.png" title="Tumblr" alt="Tumblr" class="sociable-hovers" /&gt;&lt;/a&gt;
</code></pre>

<p>&lt;br/>&lt;br/></p>
<p><a href="http://html5doctor.com/native-audio-in-the-browser/" rel="bookmark">Native Audio in the browser</a> originally appeared on <a href="http://html5doctor.com">HTML5 Doctor</a> on July 29, 2009.</p>
]]></content:encoded>
			<wfw:commentRss>http://html5doctor.com/native-audio-in-the-browser/feed/</wfw:commentRss>
		<slash:comments>93</slash:comments>
		</item>
	</channel>
</rss>
