Skip to content

Commit

Permalink
port audio engine to kotlin
Browse files Browse the repository at this point in the history
  • Loading branch information
DivineThreepwood committed Feb 3, 2024
1 parent 20f446a commit ac23a2b
Show file tree
Hide file tree
Showing 10 changed files with 227 additions and 335 deletions.
37 changes: 0 additions & 37 deletions module/audio/src/main/java/org/openbase/jul/audio/AudioData.java

This file was deleted.

15 changes: 15 additions & 0 deletions module/audio/src/main/java/org/openbase/jul/audio/AudioData.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package org.openbase.jul.audio

import javax.sound.sampled.AudioFormat

/**
*
* @author [Divine Threepwood](mailto:divine@openbase.org)
*/
interface AudioData : AudioSource {
val data: ByteArray

val format: AudioFormat

val dataLength: Long
}

This file was deleted.

44 changes: 44 additions & 0 deletions module/audio/src/main/java/org/openbase/jul/audio/AudioDataImpl.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package org.openbase.jul.audio

import org.openbase.jul.exception.CouldNotPerformException
import java.io.File
import javax.sound.sampled.AudioFormat
import javax.sound.sampled.AudioSystem

/**
*
* @author [Divine Threepwood](mailto:divine@openbase.org)
*/
class AudioDataImpl : AudioData {
override val data: ByteArray
override val format: AudioFormat
override val dataLength: Long

constructor(data: ByteArray, format: AudioFormat, dataLength: Long) {
this.data = data
this.format = format
this.dataLength = dataLength
}

constructor(soundFile: File) {
if (!soundFile.exists()) {
throw CouldNotPerformException("AudioFile is missing!")
}

AudioSystem.getAudioInputStream(soundFile).use { ais ->
this.dataLength = ais.frameLength
this.format = ais.format
this.data = ByteArray(ais.frameLength.toInt() * format.frameSize)
val buf = ByteArray(AudioPlayer.BUFSIZE)
var i = 0
while (i < data.size) {
var r = ais.read(buf, 0, AudioPlayer.BUFSIZE)
if (i + r >= data.size) {
r = data.size - i
}
System.arraycopy(buf, 0, data, i, r)
i += AudioPlayer.BUFSIZE
}
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package org.openbase.jul.audio

import java.io.File

/**
*
* @author [Divine Threepwood](mailto:divine@openbase.org)
*/
interface AudioFileHolder : AudioSource {
val file: File
}
149 changes: 0 additions & 149 deletions module/audio/src/main/java/org/openbase/jul/audio/AudioPlayer.java

This file was deleted.

Loading

0 comments on commit ac23a2b

Please sign in to comment.