Android: CD-DA emulation support

This commit is contained in:
kichikuou
2020-02-09 21:47:07 +09:00
parent 55e6dde4f8
commit 91993ef4a3
4 changed files with 65 additions and 9 deletions
@@ -72,7 +72,7 @@ class GameActivity : SDLActivity() {
}
// These functions are called in the SDL thread by JNI.
@Suppress("unused") fun cddaStart(track: Int, loop: Int) = cdda.start(track, loop)
@Suppress("unused") fun cddaStart(track: Int, loop: Boolean) = cdda.start(track, loop)
@Suppress("unused") fun cddaStop() = cdda.stop()
@Suppress("unused") fun cddaCurrentPosition() = cdda.currentPosition()
@Suppress("unused") fun midiStart(buf: ByteArray, loop: Int) = midi.start(buf, loop)
@@ -92,18 +92,18 @@ private class CddaPlayer(private val playlistPath: File) {
private val player = MediaPlayer()
private var playerPaused = false
fun start(track: Int, loop: Int) {
fun start(track: Int, loop: Boolean) {
val f = playlist.elementAtOrNull(track)
if (f.isNullOrEmpty()) {
Log.w("cddaStart", "No playlist entry for track $track")
return
}
Log.v("cddaStart", f)
Log.v("cddaStart", "${f} Loop:${loop}")
try {
player.apply {
reset()
setDataSource(File(playlistPath.parent, f).path)
isLooping = loop == 0
isLooping = loop
prepare()
start()
}