#JAVA SOUND API

1 messages · Page 1 of 1 (latest)

oak cliff
#

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!

stuck lanternBOT
#

This post has been reserved for your question.

Hey @oak cliff! Please use /close or the Close Post button above when you're finished. Please remember to follow the help guidelines. This post will be automatically closed after 300 minutes of inactivity.

TIP: Narrow down your issue to simple and precise questions to maximize the chance that others will reply in here.

#
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!
sharp cape
#

seems like that kind of AudioFormat doesn't work

oak cliff
#

could you explain to me please?

sharp cape
#

What is TestCommand? specifically line 19?