1
如何将两个OGG文件合并到Android(4.0+)中的一个文件中?到目前为止,我在这里发布之前搜索了很多,但我没有发现任何有用的信息。我试图合并两个OGG文件与下面的代码:Android:如何将两个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可以帮助吗?