All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.lessvoid.nifty.sound.paulssoundsystem.PaulsSoundHandle Maven / Gradle / Ivy

There is a newer version: 1.4.3
Show newest version
package de.lessvoid.nifty.sound.paulssoundsystem;

import paulscode.sound.SoundSystem;
import paulscode.sound.SoundSystemConfig;

import javax.annotation.Nonnull;


public class PaulsSoundHandle implements de.lessvoid.nifty.spi.sound.SoundHandle {
  @Nonnull
  private final SoundSystem soundSystem;
  private String id;
  private final String filename;

  public PaulsSoundHandle(@Nonnull final SoundSystem soundSystem, final String filename) {
    this.soundSystem = soundSystem;
    this.filename = filename;
    soundSystem.loadSound(filename);
  }

  @Override
  public void play() {
    id = soundSystem.quickPlay(true, filename, false, 0, 0, 0, SoundSystemConfig.ATTENUATION_NONE, 0);
  }

  @Override
  public void stop() {
    soundSystem.stop(id);
  }

  @Override
  public void setVolume(final float volume) {
    soundSystem.setVolume(id, volume);
  }

  @Override
  public float getVolume() {
    return soundSystem.getVolume(id);
  }

  @Override
  public boolean isPlaying() {
    return soundSystem.playing(id);
  }

  @Override
  public void dispose() {
    soundSystem.removeSource(id);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy