commit 12/11/2025
This commit is contained in:
@@ -22,6 +22,7 @@ class AudioPlayer (var samplingrate: Int = 44100) {
|
||||
val bassencmp3: BassEncMP3 = BassEncMP3.Instance
|
||||
val bassencopus: BassEncOpus = BassEncOpus.Instance
|
||||
val bassencogg : BassEncOGG = BassEncOGG.Instance
|
||||
val bassmix : BassMix = BassMix.Instance
|
||||
var initedDevice = -1
|
||||
|
||||
|
||||
@@ -34,6 +35,7 @@ class AudioPlayer (var samplingrate: Int = 44100) {
|
||||
Logger.info { "BassEncMP3 version ${Integer.toHexString(bassencmp3.BASS_Encode_MP3_GetVersion())}" }
|
||||
Logger.info { "BassEncOpus version ${Integer.toHexString(bassencopus.BASS_Encode_OPUS_GetVersion())}" }
|
||||
Logger.info {" BassEncOGG version ${Integer.toHexString(bassencogg.BASS_Encode_OGG_GetVersion())}"}
|
||||
Logger.info {" BassMix version ${Integer.toHexString(bassmix.BASS_Mixer_GetVersion())}"}
|
||||
InitAudio(0) // Audio 0 is No Sound, use for reading and writing wav silently
|
||||
}
|
||||
|
||||
|
||||
37
src/audio/BassOpus.java
Normal file
37
src/audio/BassOpus.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package audio;
|
||||
|
||||
import com.sun.jna.Library;
|
||||
import com.sun.jna.Native;
|
||||
import com.sun.jna.Pointer;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public interface BassOpus extends Library {
|
||||
BassOpus Instance = (BassOpus) Native.load("bassopus", BassOpus.class);
|
||||
// BASS_CHANNELINFO type
|
||||
int BASS_CTYPE_STREAM_OPUS = 0x11200;
|
||||
|
||||
// Additional attributes
|
||||
int BASS_ATTRIB_OPUS_ORIGFREQ = 0x13000;
|
||||
int BASS_ATTRIB_OPUS_GAIN = 0x13001;
|
||||
|
||||
class BASS_OPUS_HEAD {
|
||||
public byte version;
|
||||
public byte channels;
|
||||
public short preskip;
|
||||
public int inputrate;
|
||||
public short gain;
|
||||
public byte mapping;
|
||||
public byte streams;
|
||||
public byte coupled;
|
||||
public byte[] chanmap;
|
||||
}
|
||||
int BASS_STREAMPROC_OPUS_LOSS = 0x40000000;
|
||||
|
||||
int BASS_OPUS_StreamCreate(BASS_OPUS_HEAD head, int flags, Bass.STREAMPROC proc, Object user);
|
||||
int BASS_OPUS_StreamCreate(BASS_OPUS_HEAD head, int flags, int proc, Object user);
|
||||
int BASS_OPUS_StreamCreateFile(String file, long offset, long length, int flags);
|
||||
int BASS_OPUS_StreamCreateFile(Pointer file, long offset, long length, int flags);
|
||||
int BASS_OPUS_StreamCreateURL(String url, int offset, int flags, Bass.DOWNLOADPROC proc, Object user);
|
||||
int BASS_OPUS_StreamCreateFileUser(int system, int flags, Bass.BASS_FILEPROCS procs, Object user);
|
||||
int BASS_OPUS_StreamPutData(int handle, Pointer buffer, int length);
|
||||
}
|
||||
Reference in New Issue
Block a user