Есть куча звуков, к которым я хочу получить доступ из разных действий, поэтому я решил, что я попытаюсь загрузить их в 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]. Тогда все должно стать ясно».Большое спасибо!