Java libmp3lame 音频转码

随着互联网的兴起,居于传统的文字、图片、表情信息传递已经是难以满足广大用户了, 特别是最近几年网络带宽越来越高的情况之下,对于音频、视频的需求越来越多, 因此对于音频、视频的处理需要越重要了!

那音频转码技术到底如何呢?

盘古歌技术在这里给大家一个方案,这个方案是支持跨平台的,

  • 支持 windows
  • 支持 mac 系统
  • 支持 linux 系统

第一步引入maven jar

<dependency>
 <groupId>ws.schild</groupId>
 <artifactId>jave-all-deps</artifactId>
 <version>2.7.1</version>
</dependency>

第二步实现代码

/**
 * 音频转换器
 * @author Administrator
 *
 */
public class AudioConvert {

	private static Log LOG = LogFactory.getLog(AudioConvert.class);

	public static final String DEFAULT_CODEC = "libmp3lame";
	public static final Integer DEFAULT_BITRATE = 32000;
	public static final Integer DEFAULT_CHANNELS = 2;
	public static final Integer DEFAULT_SAMPLING_RATE = 44100;

	public static final String DEFAULT_FORMAT = "mp3";

	public static boolean convertMP3(File source, File target) {

		boolean rs = false;
		try {

			// Audio Attributes
			AudioAttributes audio = new AudioAttributes();
			audio.setCodec(DEFAULT_CODEC);
			audio.setBitRate(DEFAULT_BITRATE);
			audio.setChannels(DEFAULT_CHANNELS);
			audio.setSamplingRate(DEFAULT_SAMPLING_RATE);

			// Encoding attributes
			EncodingAttributes attrs = new EncodingAttributes();
			attrs.setFormat(DEFAULT_FORMAT);
			attrs.setAudioAttributes(audio);

			// Encode
			Encoder encoder = new Encoder();
			encoder.encode(new MultimediaObject(source), target, attrs);
			rs = true;
		} catch (Exception e) {
			LOG.error("convertMP3 errpr : ", e);
		}
		return rs;
	}

}

此方法是用 libmp3lame 来实现音频转码

输入参数是

  • source 音频源文件
  • target 音频转换完成之后文件地址

建议大家转换成 mp3 格式,因为 mp3 兼容性比较好,很多设备都支持!