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条回答 默认 最新

  • 数据大魔王 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

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?