如题
本人对于音频方面等并不是很了解,恳请各位大佬帮忙看看
我尝试过:
用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