public void playOnce() {
		stopRequested = false;
		try {
			InputStream inputStream = null;
			if (ucigame.isApplet)
			{
				URL url = new URL(ucigame.getCodeBase(), filename);
				inputStream = url.openStream();
			}
			else
				inputStream = new FileInputStream(filename);
			p = new Player(inputStream);
			while (!stopRequested)
			{
				boolean moreFrames = p.play(10);  // play 10 "frames"
				if (!moreFrames)
					break;
			}
			inputStream.close();
			p.close();
		} catch (FileNotFoundException fnf) {
			Ucigame.logError("getSound(" + filename + ") failed [3a].");
		} catch (JavaLayerException e) {
			Ucigame.logError("Internal error #N2 on sound file " + filename);
		} catch (IOException e) {
			Ucigame.logError("Internal error #B7 on sound file " + filename);
		}
	}