Проблема AAC JAAD JAVA - Низкое качество звука - PullRequest
0 голосов
/ 05 ноября 2018

Я выполняю тест приема аудио AAC / AACPlus с помощью потоковой передачи URL с помощью JAVA JAAD Sound Library (http://jaadec.sourceforge.net/info.php) версия 0.8.4, но качество звука ниже чем трансляция. Интересно, кто-нибудь имеет представление о том, что это может быть?

Вот код, который я использую.

 private static void decodeAndPlayAAC() {
    SourceDataLine line = null;
    byte[] b ;
    final URL url;

    try {

        /* Link AACPlus Streaming Test */
        url = new URL("https://audio7.97fm.com.br/energia");


        ADTSDemultiplexer adts = new ADTSDemultiplexer(url.openStream());
        byte[] decoderSpecificInfo = adts.getDecoderSpecificInfo();
        byte[] frame;
        final SampleBuffer buf = new SampleBuffer();
        Decoder dec = new Decoder(decoderSpecificInfo);
        dec.getConfig().setSBREnabled(false);

        while((frame = adts.readNextFrame())!=null) {

            dec.decodeFrame(frame, buf);

            //the aacFrame array contains the AAC frame to decode
            byte[] audio = buf.getData(); //this array contains the raw PCM audio data

            if(line == null) {
                final AudioFormat aufmt = new AudioFormat(adts.getSampleFrequency(), buf.getBitsPerSample(), 2, true, buf.isBigEndian());
                System.out.println(adts.getSampleFrequency() + "" + buf.getBitsPerSample()+ ""+ "" + 2 + "" + true + "" + buf.isBigEndian());

                line = AudioSystem.getSourceDataLine(aufmt);
                line.open(aufmt);
                line.start();
            }

            line.write(audio, 0, audio.length);
        }
    } catch (LineUnavailableException | IOException e) {
        System.out.println(e);
    } finally {
        if(line!=null) {
            line.stop();
            line.close();

        }
    }
}

public static void main(String[] args) throws Exception {
      decodeAndPlayAAC();

}

Качество звука и AM-радио и проблема не в компьютере или соединении. Вы можете проверить это, открыв ссылку AAC прямо в браузере. Может ли кто-нибудь предложить решение или альтернативу?

...