![](/img/trans.png)
[英]Android - merge (join) two or more WAV files into one (mix it) simultaneously
[英]Android: How merge(join) two OGG music files to one?
如何在Android(4.0+)中将两个OGG文件合并为一个? 到目前为止,我在这里发表文章之前进行了很多搜索,但没有发现任何有用的信息。 我试图用下面的代码合并两个OGG文件:
File newFile = new File(Environment.getExternalStorageDirectory(), "test.ogg");
Vector<InputStream> inputStreams = new Vector<InputStream>();
for (String path : Globals.mCurrentProject.getSamples()) {
inputStreams.add(new FileInputStream(path));
}
Enumeration<InputStream> enu = inputStreams.elements();
SequenceInputStream sis = new SequenceInputStream(enu);
FileOutputStream fos = new FileOutputStream(newFile);
byte[] buf = new byte[8 * 1024]; // or 4 * 1024
while (true) {
int r = sis.read(buf);
if (r == -1) {
break;
}
fos.write(buf, 0, r);
}
sis.close();
fos.close();
但这不是理想的代码。 本示例合并了文件,但未设置正确的曲目持续时间,并且歌曲播放等出现了问题。(应设置歌曲元数据:持续时间,...)
是否可能以某种方式(以简单的方式)在Android中加入两个(或多个)OGG文件?
在Java中是audioInputStream,但在Android中则不是。 您对这个问题建议什么解决方案? 也许加入服务器上的文件(发送一些请求,然后得到文件)? 我更喜欢在我的应用程序中执行此操作,但是如果出现问题,请使用服务器或其他方法。
编辑:
MediaCodec或MediaMuxer可以提供帮助吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.