基于kotlin \ jetpack compose语言开发
音效播放:
class 播放器(val context: Context){
//创建声音池,设置最大同时播放流数为1
private val 声音池 = SoundPool.Builder().setMaxStreams(1).build()
private var soundId = 0 // 存储加载的音频资源ID
private var streamId = 0 // 存储当前播放实例的流ID,用于控制播放/停止
// 初始化块,在类实例化时执行
init {
// 加载raw资源文件夹中的音频文件,优先级设为1
soundId = 声音池.load(context, R.raw.shaizi, 1)
}
fun 播放骰子声音() {
// 播放音频:soundId=音频资源, 1.0f左右声道音量, 1.0f右声道音量,
// 1=优先级, -1=循环播放(-1表示无限循环), 1.0f=播放速率
streamId=声音池.play(soundId, 1.0f, 1.0f, 1, -1, 1.0f)
}
fun 停止播放() {
// 使用之前保存的streamId停止播放
声音池.stop(streamId)
}
// 释放声音池占用的所有资源
fun 释放资源() {
声音池.release()
}
}