package org.mapdroid.utils;
import java.util.HashMap;
import android.content.Context;
import android.media.AudioManager;
import android.media.SoundPool;
public class SoundManager {
private SoundPool soundPool;
private HashMap<Integer, Integer> soundPoolMap;
//private AudioManager audioManager;
private Context context;
public SoundManager(Context context){
this.context = context;
soundPoolMap = new HashMap<Integer, Integer>();
//audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
}
public void initSound(int key, int resourceId) {
soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);
soundPoolMap.put(key, soundPool.load(context, resourceId, 1));
}
public void playSound(int key){
/* Updated: The next 4 lines calculate the current volume in a scale of 0.0 to 1.0 */
//float streamVolumeCurrent = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
//float streamVolumeMax = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
//float volume = streamVolumeCurrent / streamVolumeMax;
/* Play the sound with the correct volume */
soundPool.play(soundPoolMap.get(key), 1, 1, 1, 0, 1f);
}
}
|