<?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>Noa&#039;s blog &#187; MP3</title>
	<atom:link href="http://noa.resare.com/tag/mp3/feed/" rel="self" type="application/rss+xml" />
	<link>http://noa.resare.com</link>
	<description>moderately interesting words about things going through my mind</description>
	<lastBuildDate>Fri, 29 Jan 2010 23:56:06 +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>Sun&#8217;s Java MP3 plugin is no friend of ID3 tags</title>
		<link>http://noa.resare.com/2009/01/mp3-playback/</link>
		<comments>http://noa.resare.com/2009/01/mp3-playback/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 19:36:12 +0000</pubDate>
		<dc:creator>noa</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ID3]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[MP3]]></category>
		<category><![CDATA[Voxbiblia]]></category>

		<guid isPermaLink="false">http://noa.resare.com/?p=156</guid>
		<description><![CDATA[The Java programming environment has a framework for reading audio files, that is extensible and has the ability to to handle new audio formats not originally supported by  the standard platform. It turns out that Sun has released a plugin that adds playback support of the popular MP3 audio format. However, a few days [...]]]></description>
			<content:encoded><![CDATA[<p>The Java programming environment has a framework for reading audio files, that is extensible and has the ability to to handle new audio formats not originally supported by  the standard platform. It turns out that Sun has released a <a href="http://java.sun.com/javase/technologies/desktop/media/jmf/mp3/download.html">plugin</a> that adds playback support of the popular MP3 audio format. However, a few days back I learned that Sun's plugin doesn't seem to recognize the Bible MP3 files that we sell at Voxbiblia.</p>
<p>When looking into the problem I found out that the audio format identification functionality doesn't play well with the <a href="http://www.id3.org">ID3v2</a> metadata format that we use at <a href="http://voxbiblia.com/">Voxbiblia</a>. The ID3 tag enables users to organize our MP3 files into whole books or even whole Bibles on their computers or portable MP3 players, and it even enables them to read the actual Bible text of the  passage recorded in a specific audio segment. As you might imagine the ID3 functionality is quite useful, and also close to universally used and accepted in popular playback products such as iTunes and Windows Media Player, so I think that it's kind of strange that Sun's MP3 plugin doesn't at least support it by skipping over the tag is kind of surprising.</p>
<p>However, it is not impossible to do just that yourself. If you open the MP3 file yourself and skip forward to after the end of the tag before you hand over the InputStream to the AudioSystem framework it can identify and decode the MP3 stream correctly.</p>
<p>So, I wrote some code that did just that. It's a little bit more tricky to than you might think, because the ID3 format encodes the tag length information in an unusual format, but other than that the strategy is quite straightforward.</p>
<p>The class can be downloaded here: <a href="http://resare.com/noa/ref/MP3Identifier.java">MP3Identifier.java</a>. Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://noa.resare.com/2009/01/mp3-playback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
