line.open(format, AUDIO_BUFFER_SIZE);
line.addLineListener(new JavaStreamLineListener());  synchronized (openLock) { line.open(format, AUDIO_BUFFER_SIZE); try { openLock.wait(); } catch (InterruptedException ie) { ie.printStackTrace(); } }
    private synchronized void openLine(AudioFormat format) {	if (line != null) {	    drain();	    line.close();	    line = null;	}	DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);	try {	    line = (SourceDataLine) AudioSystem.getLine(info);            line.open(format, AUDIO_BUFFER_SIZE);            setVolume(line, volume);            resetTime();            if (isPaused() && line.isRunning()) {                line.stop();            } else {                line.start();            }	} catch (LineUnavailableException lue) {            lue.printStackTrace();	    throw new UnsupportedOperationException("Can't get line");	}    }