Проблемы с использованием звукового пула и setOnLoadCompleteListener

Поэтому я использую звуковой пул для воспроизведения звука в конце таймера. onCreate я делаю это

int mySoundId;
SoundPool soundPool;

// load sound

soundPool = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);

AssetManager am = this.getAssets();

//Use in whatever method is used to load the sounds
try {
    mySoundId = soundPool.load(am.openFd("alarm.wav"), 1);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

я получал

образец 0 не готов

Итак, я понял, что должен использовать

soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
    @Override
    public void onLoadComplete(SoundPool soundPool, int mySoundId, int status) {
        loaded = true;
    }
});

Но моя проблема в том, что setOnLoadCompleteListener дает мне следующую ошибку

Метод setOnLoadCompleteListener(SoundPool.OnLoadCompleteListener) в типе SoundPool неприменим для аргументов (new OnLoadCompleteListener(){})

Я пробовал различные вещи, такие как «Инструменты Android -> Исправить свойства проекта» и возиться со «Свойствами -> Компилятор Java», но без удовольствия. Мой диапазон API составляет 10–16, так что все должно быть в порядке. Есть идеи, с чем у него проблемы?


person Horse    schedule 30.08.2012    source источник
comment
Интересно, кто-то проголосовал за это всего через несколько секунд после того, как я опубликовал это! не успела прочитать?   -  person Horse    schedule 31.08.2012


Ответы (2)


Используйте приведенный ниже код. Возможно, ваш импорт неверен. В любом случае это должно работать

soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
    @Override
    public void onLoadComplete(SoundPool soundPool, int mySoundId, int status) {
        loaded = true;
    }
});
person nandeesh    schedule 30.08.2012
comment
извините, мне пришлось немного отложить это, я обязательно приму ваш ответ, когда вернусь к нему, если он правильный, спасибо! - person Horse; 12.09.2012
comment
ну вроде работает, теперь пишет - ошибка при открытии файла трассировки: Нет такого файла или каталога (2) - person Horse; 15.09.2012

У меня была та же проблема, но потом я заметил, что мне просто нужно импортировать android.media.SoundPool.OnLoadCompleteListener...

person agoodthought    schedule 25.02.2015