oldkingOK 2020-04-25 15:38 采纳率: 0%
浏览 332

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();
        }
    }
}
  • 写回答

1条回答 默认 最新

  • Java毕设王 2023-06-05 10:09
    关注

    可以使用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

    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记