public void play() {
		stop();
		
		try {
			bitStream.reset();
		} catch (IOException e) {
			// ignore if no mark
		}
		
		player = new Thread() {
			public void run() {
				try {
					playStream(Thread.currentThread());
				} catch (InternalException e) {
					e.printStackTrace();
				}
				
				try {
					bitStream.reset();
				} catch (IOException e) {
					e.printStackTrace();
				}
			};
		};
		player.setDaemon(true);
		player.start();
	}