Index: trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java	(revision 554)
+++ trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java	(revision 556)
@@ -35,4 +35,5 @@
 	private double position; // seconds
 	private double bytesPerSecond; 
+	private static long chunk = 8000; /* bytes */
 
 	/**
@@ -192,5 +193,5 @@
 		SourceDataLine audioOutputLine = null;
 		AudioFormat	audioFormat = null;
-		byte[] abData = new byte[8192];
+		byte[] abData = new byte[(int)chunk];
 		
 		for (;;) {
@@ -257,10 +258,9 @@
 								 */
 								// audioInputStream.skip(bytesToSkip);
-								int skipsize = 8192;
-								while (bytesToSkip > skipsize) {
-									audioInputStream.skip(skipsize);
-									bytesToSkip -= skipsize;
+								while (bytesToSkip > chunk) {
+									bytesToSkip -= audioInputStream.skip(chunk);
 								}
-								audioInputStream.skip(bytesToSkip);
+								if (bytesToSkip > 0)
+									audioInputStream.skip(bytesToSkip);
 								position = adjustedOffset;
 							}
