mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-15 13:04:05 +09:00
random sound audio bank
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user