Error:
Caused by: java.lang.RuntimeException: javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 8000.0 Hz, 16 bit, stereo, 4 bytes/frame, big-endian not supported.
at me.jujjka.callplugin.commands.TestCommand.onCommand(TestCommand.java:19) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[spigot-api-1.19.3-R0.1-SNAPSHOT.jar:?]
... 23 more
Caused by: javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 8000.0 Hz, 16 bit, stereo, 4 bytes/frame, big-endian not supported.
at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(DirectAudioDevice.java:484) ~[?:?]
at com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:115) ~[?:?]
at com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:142) ~[?:?]
at me.jujjka.callplugin.auido.SendAudio.playAudio(SendAudio.java:41) ~[?:?]
Code:
public AudioFormat getAudioFormat(){
float sampleRate = 8000.0F;
int sampleSizeInBits = 16;
int channels = 2;
boolean signed = true;
boolean bigEndian = true;
return new AudioFormat(sampleRate,
sampleSizeInBits,
channels,
signed,
bigEndian);
}
public void playAudio(Player player) throws LineUnavailableException {
Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo();
audioFormat = getAudioFormat();
DataLine.Info info = new DataLine.Info(TargetDataLine.class, audioFormat);
Mixer mixer = AudioSystem.getMixer(mixerInfo[10]);
targetDataLine = (TargetDataLine) mixer.getLine(info);
targetDataLine.open(audioFormat);
ByteArrayOutputStream out = new ByteArrayOutputStream();
int numBytesRead;
byte[] data = new byte[targetDataLine.getBufferSize() / 5];
targetDataLine.start();
}
Please Help!