random sound audio bank

This commit is contained in:
minjaesong
2024-08-16 22:38:47 +09:00
parent 1c27966322
commit fc92fe6f55
6 changed files with 75 additions and 36 deletions

View File

@@ -382,33 +382,19 @@ class FeedSamplesToAdev(val bufferSize: Int, val rate: Int, val track: TerrarumA
if (track.trackType != TrackType.MASTER) throw IllegalArgumentException("Track is not master")
}
val sleepTime = (1000000000.0 * ((bufferSize / 4.0) / TerrarumAudioMixerTrack.SAMPLING_RATED)).toLong()
val sleepMS = sleepTime / 1000000
val sleepNS = (sleepTime % 1000000).toInt()
private fun printdbg(msg: Any) {
if (true) println("[AudioAdapter ${track.name}] $msg")
}
@Volatile private var exit = false
override fun run() {
while (!exit) {
val writeQueue = track.pcmQueue
val queueSize = writeQueue.size
if (queueSize > 0) {
// printdbg("PULL; Queue size: $queueSize")
val samples = writeQueue.removeFirst()
track.adev!!.writeSamples(samples)
while (!Thread.currentThread().isInterrupted) {
try {
val writeQueue = track.pcmQueue
val queueSize = writeQueue.size
if (queueSize > 0) {
val samples = writeQueue.removeFirst()
track.adev!!.writeSamples(samples)
}
}
catch (_: InterruptedException) {
Thread.currentThread().interrupt()
}
// else {
// printdbg("QUEUE EMPTY QUEUE EMPTY QUEUE EMPTY ")
// }
// Thread.sleep(sleepMS, sleepNS)
}
}
fun stop() {
exit = true
}
}