Пока я сканирую стойки с помощью штрих-кода, я реализовал одноэлементный класс soundpool, при продолжении сканирования приложение автоматически закрывается. Ошибка: «Не удалось прочитать дескрипторы файлов входного канала из посылки».
public void successfulAlert() {
Logger.d("", "SuccessAlert Start" + Calendar.getInstance().getTimeInMillis());
final int audioID = mSPool.load(Application.getInstance(), R.raw.scan, 1);
mSPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
Logger.d("", "SuccessAlert Completed " + Calendar.getInstance().getTimeInMillis());
float volume = (float) mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
mSPool.play(audioID, volume, volume, 1, 0, 1f);
/// cleanupSound();
}
});
Logger.d(TAG, "Possitive Scan Beep ");
}
Этот код предназначен для оповещения об успехе. Я попытался очистить выпуск Soundpool, но звук не слышен. Может ли кто-нибудь подсказать мне, как освободить звуковой пул после воспроизведения звука.
public void cleanupSound() {
if (mSPool != null) {
mSPool.release();
// mSPool=null;
// mAudioManager.unloadSoundEffects();
// mInstance=null;
}
}
Подробнее здесь: https://stackoverflow.com/questions/357 ... in-android