public void playLoop() {
		while (!this.stop) {
			try {
				this.stream = AudioSystem.getAudioInputStream(this.url);
				this.decodedStream = null;
				if (this.stream != null) {
					this.format = this.stream.getFormat();
					this.decodedFormat = new AudioFormat(
							AudioFormat.Encoding.PCM_SIGNED,
							this.format.getSampleRate(), 16,
							this.format.getChannels(),
							this.format.getChannels() * 2,
							this.format.getSampleRate(), false);
					this.decodedStream = AudioSystem.getAudioInputStream(
							this.decodedFormat, this.stream);
				}
			} catch (Exception e){
			}
			SourceDataLine line = null;
			try {
				line = this.getLine(this.decodedFormat);
			} catch (LineUnavailableException lue) {
			}
			if (line != null) {
				try {
					byte[] data = new byte[4096];
					line.start();
					int nBytesRead = 0;
					while (nBytesRead != -1) {
						nBytesRead = this.decodedStream.read(data, 0,
								data.length);
						if (nBytesRead != -1) {
							line.write(data, 0, nBytesRead);
						}
						if (this.stop) {
							break;
						}
					}
					line.drain();
					line.stop();
					line.close();
					this.decodedStream.close();
					this.stream.close();
				} catch (IOException io) {
				}
			}
		}
	}