可以告诉你怎么做 结合/合并 两个媒体文件合二为一?
我发现了一个主题 audioInputStream
但现在它不支持android,以及java的所有代码。
在StackOverflow上,我在这里找到了这个链接 但在那里我找不到解决方案 - 这些链接仅适用于流媒体音频。谁能告诉我?
P.S和为什么我不能开始赏金?:(
可以告诉你怎么做 结合/合并 两个媒体文件合二为一?
我发现了一个主题 audioInputStream
但现在它不支持android,以及java的所有代码。
在StackOverflow上,我在这里找到了这个链接 但在那里我找不到解决方案 - 这些链接仅适用于流媒体音频。谁能告诉我?
P.S和为什么我不能开始赏金?:(
考虑两种情况 .mp3
文件:
在这种情况下,我们可以将第二个文件附加到第一个文件的末尾。这可以使用Android上提供的File类来实现。
在这种情况下,必须重新编码其中一个剪辑以确保两个文件具有相同的采样频率和通道数。要做到这一点,我们需要解码MP3,获取PCM样本,处理它以改变采样频率,然后重新编码为MP3。据我所知,android没有转码或重新编码API。一种选择是通过JNI使用像lame / FFMPEG这样的外部库进行重新编码。
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();
}
}