Использование Soundpool из ViewModel - PullRequest
0 голосов
/ 23 января 2019

Есть куча звуков, к которым я хочу получить доступ из разных действий, поэтому я решил, что я попытаюсь загрузить их в SoundPool в ViewModel, к которой затем можно будет получить доступ из действий.При попытке этого с помощью следующего кода я получаю Unresolved reference для SoundPool, а также звуки внутри него.Любые указатели на то, почему это так, приветствуются.

ViewModel:

class PingSoundPool : ViewModel() {

    fun loadPings() {

        val mAttributes = AudioAttributes.Builder()
            .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
            .setUsage(AudioAttributes.USAGE_GAME)
            .build()

        var mSoundPool = SoundPool.Builder()
            .setMaxStreams(4)
            .setAudioAttributes(mAttributes)
            .build()

        val abping = mSoundPool.load("./res/raw/abping", 1)
        val aping = mSoundPool.load("./res/raw/aping", 1)
        val bbping = mSoundPool.load("./res/raw/bbping", 1)
        val bping = mSoundPool.load("./res/raw/bping", 1)
        val cping = mSoundPool.load("./res/raw/cping", 1)
        val dbping = mSoundPool.load("./res/raw/dbping", 1)
        val dping = mSoundPool.load("./res/raw/dping", 1)
        val ebping = mSoundPool.load("./res/raw/ebping", 1)
        val eping = mSoundPool.load("./res/raw/eping", 1)
        val fping = mSoundPool.load("./res/raw/fping", 1)
        val gbping = mSoundPool.load("./res/raw/gbping", 1)
        val gping = mSoundPool.load("./res/raw/gping", 1)
        }
    }

А затем в Activity´s onCreate():

val model = ViewModelProviders.of(this).get(PingSoundPool::class.java)
    model.loadPings()

    mibutton.setOnClickListener {
        mSoundPool.play(eping,1f,1f,0,0,1f)
    }

Вы, вероятно,обратите внимание, что я не очень разбираюсь в кодировании, так что любой небольшой намек помогает, даже если это просто «Пожалуйста, прочитайте и поймите [Тема X]. Тогда все должно стать ясно».Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...