我有多个文件中的录音。我正在使用以下命令创建一个连续音频文件com.googlecode.mp4parser:isoparser:1.0.2
图书馆。
下面是我的代码:
String mediaKey = isAudio ? "soun" : "vide";
List<Movie> listMovies = new ArrayList<>();
for (String filename : sourceFiles) {
listMovies.add(MovieCreator.build(filename));
}
List<Track> listTracks = new LinkedList<>();
for (Movie movie : listMovies) {
for (Track track : movie.getTracks()) {
if (track.getHandler().equals(mediaKey)) {
listTracks.add(track);
}
}
}
Movie outputMovie = new Movie();
if (!listTracks.isEmpty()) {
outputMovie.addTrack(new AppendTrack(listTracks.toArray(new Track[listTracks.size()])));
}
Container container = new DefaultMp4Builder().build(outputMovie);
FileChannel fileChannel = new RandomAccessFile(String.format(targetFile), "rw").getChannel();
container.writeContainer(fileChannel);
fileChannel.close();
以上代码在Android手机上运行。由于其移动环境,每个应用程序都有内存限制。
上面代码的问题是,当我从文件加载电影并为小文件创建曲目列表时,它工作正常。但随着文件大小的增加,操作开始变得无响应。它需要大量的内存。我怎样才能让它记忆高效。他们是否可以像我们在 Java 中进行文件复制操作那样在小流中执行此操作?
Update :为了在文件中录制音频,我使用的是 androidMediaRecorder
对于此操作,输出格式为MPEG_4
和音频编码器作为AAC
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)