Skip to content Skip to sidebar Skip to footer

Android: Is There A Way To Detect If A Sound From Soundpool Is Still Playing

I am writting a sound board. I would like it so when a person presses the button to play the sound, it would first see if a sound is stil playing. So it can then stop that sound a

Solution 1:

You can use isMusicActive() method of AudioManager.

Solution 2:

classAudioSystem{
    /*
     * Checks whether the specified stream type is active.
     *
     * return true if any track playing on this stream is active.
     */publicstaticnativebooleanisStreamActive(int stream, int inPastMs);
}

And for stream:

/** The audio stream for phone calls */publicstaticfinalint STREAM_VOICE_CALL = AudioSystem.STREAM_VOICE_CALL;
/** The audio stream for system sounds */publicstaticfinalint STREAM_SYSTEM = AudioSystem.STREAM_SYSTEM;
/** The audio stream for the phone ring */publicstaticfinalint STREAM_RING = AudioSystem.STREAM_RING;
/** The audio stream for music playback */publicstaticfinalint STREAM_MUSIC = AudioSystem.STREAM_MUSIC;
/** The audio stream for alarms */publicstaticfinalint STREAM_ALARM = AudioSystem.STREAM_ALARM;
/** The audio stream for notifications */publicstaticfinalint STREAM_NOTIFICATION = AudioSystem.STREAM_NOTIFICATION;
/** @hide The audio stream for phone calls when connected to bluetooth */publicstaticfinalint STREAM_BLUETOOTH_SCO = AudioSystem.STREAM_BLUETOOTH_SCO;
/** @hide The audio stream for enforced system sounds in certain countries (e.g camera in Japan) */publicstaticfinalint STREAM_SYSTEM_ENFORCED = AudioSystem.STREAM_SYSTEM_ENFORCED;
/** The audio stream for DTMF Tones */publicstaticfinalint STREAM_DTMF = AudioSystem.STREAM_DTMF;
/** @hide The audio stream for text to speech (TTS) */publicstaticfinalint STREAM_TTS = AudioSystem.STREAM_TTS;

Check for whatever type of audio stream you want to check. For example, AudioSystem.isStreamActive(STREAM_MUSIC, 0) to check whether any music is active.

Post a Comment for "Android: Is There A Way To Detect If A Sound From Soundpool Is Still Playing"