是否有可能將音頻和視頻文件合併到一個文件中。我的 需求是:一個可以錄製視頻(mp4)的android應用程序,然後我的本地文件夾中有一些音頻文件(mp3),我想將它添加到通過camcoder捕獲的視頻中。所以最終的效果就像播放視頻一樣,並且將會聽到要在內部合併的添加音頻。我該怎麼做? P.S.合併必須在內部完成.Camcorder不會錄製任何音頻。在android中合併音頻文件和捕獲的視頻
請幫
是否有可能將音頻和視頻文件合併到一個文件中。我的 需求是:一個可以錄製視頻(mp4)的android應用程序,然後我的本地文件夾中有一些音頻文件(mp3),我想將它添加到通過camcoder捕獲的視頻中。所以最終的效果就像播放視頻一樣,並且將會聽到要在內部合併的添加音頻。我該怎麼做? P.S.合併必須在內部完成.Camcorder不會錄製任何音頻。在android中合併音頻文件和捕獲的視頻
請幫
我不能使用MP3 files.Instead成功我使用的MP4文件的背景音樂。如果你有興趣來處理MP4文件,下面的代碼片段可以幫助你
String root = Environment.getExternalStorageDirectory().toString();
String audio = root +"/test.mp4";
String video = root +"/myvideo.mp4";
String output = root+ "/ouputVideo.mp4";
Log.e("FILE", "audio:"+audio + " video:"+video+ " out:"+output);
mux(video, audio, output);
public boolean mux(String videoFile, String audioFile, String outputFile) {
Movie video;
try {
video = new MovieCreator().build(videoFile);
} catch (RuntimeException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}
Movie audio;
try {
audio = new MovieCreator().build(audioFile);
} catch (IOException e) {
e.printStackTrace();
return false;
} catch (NullPointerException e) {
e.printStackTrace();
return false;
}
Track audioTrack = audio.getTracks().get(1);
//video.getTracks().remove(1);
video.addTrack(audioTrack);
Container out = new DefaultMp4Builder().build(video);
FileOutputStream fos;
try {
fos = new FileOutputStream(outputFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
return false;
}
BufferedWritableFileByteChannel byteBufferByteChannel = new BufferedWritableFileByteChannel(fos);
try {
out.writeContainer(byteBufferByteChannel);
byteBufferByteChannel.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
感謝,所有的MP3文件不會在這裏工作。只有少數是工作任何想法? – Sandy09
MovieCreator類在哪裏? –
我使用MP4解析器的例子,但它不是幫助很大, – user2724486