Как отключить и включить звук SoundPool в android studio, используя kotlin? - PullRequest
0 голосов
/ 16 апреля 2020

Спасибо! для того, чтобы быть здесь.

У меня есть действие с кнопкой (musi c), которая играет короткую музыку c при нажатии и кнопку переключения, когда проверяемый звук должен отключиться, и наоборот. Но кнопка переключения (звук) не работала, как ожидалось. Могут ли хорошие люди найти ошибку в моем коде ниже. Это моя первая программа, использующая Soundpool.

private var sp: SoundPool? =null

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)
        setContentView(R.layout.activity_start)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            val audioAttr = AudioAttributes.Builder()
                .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
                .setUsage(AudioAttributes.USAGE_GAME)
                .build()
            sp = SoundPool.Builder()
                .setAudioAttributes(audioAttr)
                .build()
        } else sp = SoundPool(1, AudioManager.STREAM_MUSIC, 0)

        val sound1:Int= sp!!.load(this,R.raw.key_tone,1)

        val music= findViewById<Button>(R.id.exit)
        val sound = findViewById<ToggleButton>(R.id.sound)



        sound.setOnCheckedChangeListener{ _, isChecked ->
            if (isChecked) {
                // The toggle is enabled
                sp?.setVolume(1,0F,0F)


            } else {
                // The toggle is disabled
                sp?.setVolume(1,1F,1F)

            }
        }


        music.setOnClickListener{
            showCustomDialog()
            sp?.play(sound1,1F,1F,0,0,1F)
        }
}

Еще раз спасибо

...