近期接到一个音频转换的需求,涉及音频信息获取、格式转换、采样率、比特率、声道数量改变,现将具体demo分享给大家。
首先先安装ffmpeg,安装后的bin目录如下所示:

我们主要用ffprobe、ffmpeg这两个执行程序,其中ffprobe用于获取音频流信息、ffmpeg用于音频转换,下面直接上代码
获取音频信息
public String getAudioInformation(String filePath) {
Runtime run = null;
Process p = null;
try {
run = Runtime.getRuntime();
p = run.exec("ffprobe -v quiet -show_format -show_streams -print_format json " + filePath);
BufferedInputStream in = new BufferedInputStream(p.getInputStream());
BufferedReader inBr = new BufferedReader(new InputStreamReader(in));
StringBuffer sb = new StringBuffer();
String lineStr;
while ((lineStr = inBr.readLine()) != null) {
sb.append(lineStr);
}
if (p.waitFor() != 0) {

本文展示了如何利用FFmpeg工具获取音频文件的详细信息,包括采样率、比特率、声道等,并提供了Java代码实现。此外,还演示了音频转换的过程,包括声道、采样率和比特率的调整,以及转换为不同格式。转换后的音频信息通过FFmpeg命令行工具进行验证。
1万+

被折叠的 条评论
为什么被折叠?



