[英]How to merge two mp3 files into one (combine/join)
谁能告诉如何将两个媒体文件合并/合并为一个?
我找到了一个关于audioInputStream
的主题,但现在 android 和 java 的所有代码都不支持它。
在 StackOverflow 上,我在这里找到了这个链接,但在那里我找不到解决方案 - 这些链接仅在流式音频上。 有谁能告诉我?
PS,为什么我不能开始赏金?:(
import java.io.*;
public class TwoFiles
{
public static void main(String args[]) throws IOException
{
FileInputStream fistream1 = new FileInputStream("C:\\Temp\\1.mp3"); // first source file
FileInputStream fistream2 = new FileInputStream("C:\\Temp\\2.mp3");//second source file
SequenceInputStream sistream = new SequenceInputStream(fistream1, fistream2);
FileOutputStream fostream = new FileOutputStream("C:\\Temp\\final.mp3");//destinationfile
int temp;
while( ( temp = sistream.read() ) != -1)
{
// System.out.print( (char) temp ); // to print at DOS prompt
fostream.write(temp); // to write to file
}
fostream.close();
sistream.close();
fistream1.close();
fistream2.close();
}
}
考虑.mp3
文件的两种情况:
在这种情况下,我们可以将第二个文件 append 放在第一个文件的末尾。 这可以使用 Android 上可用的文件类来实现。
在这种情况下,必须对其中一个剪辑进行重新编码,以确保两个文件具有相同的采样频率和通道数。 为此,我们需要解码 MP3,获取 PCM 样本,对其进行处理以更改采样频率,然后重新编码为 MP3。 据我所知,android 没有转码或重新编码 API。 一种选择是通过 JNI 使用像 lame/FFMPEG 这样的外部库进行重新编码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.