예제 #1
0
  public void setSoundPan(long soundId, float pan, float volume) {
    if (!soundIdToSource.containsKey(soundId)) return;
    int sourceId = soundIdToSource.get(soundId);

    AL10.alSource3f(
        sourceId,
        AL10.AL_POSITION,
        MathUtils.cos((pan - 1) * MathUtils.PI / 2),
        0,
        MathUtils.sin((pan + 1) * MathUtils.PI / 2));
    AL10.alSourcef(sourceId, AL10.AL_GAIN, volume);
  }
예제 #2
0
 public void setSoundPitch(long soundId, float pitch) {
   if (!soundIdToSource.containsKey(soundId)) return;
   int sourceId = soundIdToSource.get(soundId);
   AL10.alSourcef(sourceId, AL10.AL_PITCH, pitch);
 }
예제 #3
0
 public void setSoundLooping(long soundId, boolean looping) {
   if (!soundIdToSource.containsKey(soundId)) return;
   int sourceId = soundIdToSource.get(soundId);
   alSourcei(sourceId, AL10.AL_LOOPING, looping ? AL10.AL_TRUE : AL10.AL_FALSE);
 }
예제 #4
0
 public void setSoundGain(long soundId, float volume) {
   if (!soundIdToSource.containsKey(soundId)) return;
   int sourceId = soundIdToSource.get(soundId);
   AL10.alSourcef(sourceId, AL10.AL_GAIN, volume);
 }
예제 #5
0
 public void resumeSound(long soundId) {
   if (!soundIdToSource.containsKey(soundId)) return;
   int sourceId = soundIdToSource.get(soundId);
   if (alGetSourcei(sourceId, AL_SOURCE_STATE) == AL_PAUSED) alSourcePlay(sourceId);
 }
예제 #6
0
 public void pauseSound(long soundId) {
   if (!soundIdToSource.containsKey(soundId)) return;
   int sourceId = soundIdToSource.get(soundId);
   alSourcePause(sourceId);
 }
예제 #7
0
 public void stopSound(long soundId) {
   if (!soundIdToSource.containsKey(soundId)) return;
   int sourceId = soundIdToSource.get(soundId);
   alSourceStop(sourceId);
 }