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

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

    评论

报告相同问题?

悬赏问题

  • ¥15 arduino控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上