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"