Java 如何播放aac类型的音频文件?

如题
本人对于音频方面等并不是很了解,恳请各位大佬帮忙看看

我尝试过:

  • 用KMPlayer、暴风影音直接播放->成功

  • 用jmp123.jar播放aac->失败

  • AACPlayer播放器
    播放aac->程序进入死循环,失败

  • 先用jave-1.0.2.jar先把aac转码成mp3(代码贴在下面),再用jmp123.jar进行播放->可以播放,但是声音十分奇怪

下面是源acc音频文件及转码后的mp3的链接:
链接: 百度云
提取码: g9hv

谢谢了!

下面是转码的代码

import it.sauronsoftware.jave.AudioAttributes;
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.EncoderException;
import it.sauronsoftware.jave.EncodingAttributes;

public class AudioUtils{
    /**
     * 将aac转换成mp3格式文件
     *
     * @param localFilePath 本地文件路径
     * @param targetPath    mp3输出路径
     */
    public static void changeLocalSourceToMp3(String localFilePath, String targetPath){
        try {
            File source = new File(localFilePath);
            File target = new File(targetPath);
            AudioAttributes audio = new AudioAttributes();
            Encoder encoder = new Encoder();

            audio.setCodec("libmp3lame");
            EncodingAttributes attrs = new EncodingAttributes();
            attrs.setFormat("mp3");
            attrs.setAudioAttributes(audio);
            encoder.encode(source, target, attrs);
        } catch (EncoderException e) {
            e.printStackTrace();
        }
    }
}

可以使用Java Media Framework(JMF)库。JMF提供了一组用于处理媒体文件(包括音频和视频)的API。
要开始,您需要下载并在系统上安装JMF。完成后,您可以使用以下代码播放AAC音频文件:

import javax.media.*;
import java.net.*;

public class AudioPlayer {
  public static void main(String[] args) {
    try {
      // Create a player for the file
      Player player = Manager.createPlayer(new URL("file:///path/to/file.aac"));

      // Start playing the file
      player.start();

      // Wait for the playback to finish
      player.wait();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

在这段代码中,我们首先从javax.media包导入必要的类。然后,我们使用Manager.createPlayer()方法创建一个Player对象,传入我们想要播放的AAC文件的URL。最后,我们启动播放器,等待播放结束。
JMF自2004年以来一直没有更新,可能无法在较新的系统上工作。在这种情况下,您可以使用其他库,如JavaFX或第三方库,如VLCJ或Xuggler