首页 > 解决方案 > Android A cast to int 出错了。请联系 mp4parser 讨论组 (3292244048)

问题描述

错误日志:java.lang.RuntimeException:转换为 int 出错了。请联系 mp4parser 讨论组 (3292244048)

致命异常:MovieCreator.build() 上的 java.lang.RuntimeException

我需要帮助

Movie movieA = null;
try {
    movieA = MovieCreator.build(firstFile.getAbsolutePath());
} catch (IOException e) {
    e.printStackTrace();
}
final Movie finalMovie = new Movie();
List<Track> audioTracks = new ArrayList<>();
ArrayList<Movie> movilist=new ArrayList<>();
for(int i=0;i<value;i++){
    movilist.add(movieA);
}

for (Movie movie : movilist) {
    for (Track track : movie.getTracks()) {
        if (track.getHandler().equals("soun")) {
            audioTracks.add(track);
        }
    }
}
try {
    finalMovie.addTrack(new AppendTrack(audioTracks.toArray(new Track[audioTracks.size()])));
} catch (IOException e) {
    e.printStackTrace();
}

final Container container = new DefaultMp4Builder().build(finalMovie);
File mergedFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + Constants.PROJECT_FOLDER + "/Sounds/newsound123" + ".mp3");
try {
    final FileOutputStream fos = new FileOutputStream(mergedFile);
} catch (FileNotFoundException e) {
    e.printStackTrace();
}
FileChannel fc = null;
try {
    fc = new RandomAccessFile(mergedFile, "rw").getChannel();
} catch (FileNotFoundException e) {
    e.printStackTrace();
}
try {
    container.writeContainer(fc);
} catch (IOException e) {
    e.printStackTrace();
}
try {
    fc.close();
} catch (IOException e) {
    e.printStackTrace();
}
return mergedFile.getAbsolutePath();

标签: androidvideogoogle-codevideo-editingmp4parser

解决方案


推荐阅读