public SourceDataLine initSoundHardware() {

		try {
			AudioFormat format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,
					sampleRate, 8, 2, 2, sampleRate, true);
			DataLine.Info lineInfo = new DataLine.Info(SourceDataLine.class, format);

			if (!AudioSystem.isLineSupported(lineInfo)) {
				System.out.println("Error: Can't find audio output system!");
				soundEnabled = false;
			} else {
				SourceDataLine line = (SourceDataLine) AudioSystem.getLine(lineInfo);

				int bufferLength = (sampleRate / 1000) * bufferLengthMsec;
				line.open(format, bufferLength);
				line.start();
				//    System.out.println("Initialized audio successfully.");
				soundEnabled = true;
				return line;
			}
		} catch (Exception e) {
			System.out.println("Error: Audio system busy!");
			soundEnabled = false;
		}

		return null;
	}