android 音频视频合并

来源:互联网 发布:算法 布料裁剪问题 编辑:程序博客网 时间:2024/05/16 05:33

1. 生成mp4 audio

通过录音 生成mp4 audio

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. // -----------------sound process  
  2. private void startRecording() {  
  3.   
  4.     isRecording = true;   
  5.   
  6.     //mFileName = "/sdcard/dyesebelRecord.mp3";  
  7.     mFileName = "/sdcard/hopeaudio.mp4";  
  8.   
  9.     mRecorder = new MediaRecorder();  
  10.     mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);  
  11.     mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);  
  12.     mRecorder.setOutputFile(mFileName);  
  13.     mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);  
  14.   
  15.     try {  
  16.         mRecorder.prepare();  
  17.     } catch (IOException e) {  
  18.   
  19.     }  
  20.   
  21.     mRecorder.start();  
  22. }  

2. 合并mp4 video

通过第三方jar包, 将mp4 audio 和 mp4 视频 文件 合并成一个新的视频文件。

ps: 需要添加isoparser-1.0.1.jar, aspectjrt.jar

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. private void mux() throws IOException  
  2. {   
  3.      System.out.println("isoparser mux3");  
  4.         String audioEnglish = "/sdcard/hopeaudio.mp4";  
  5.         String video = "/sdcard/hopevideo.mp4";  
  6.   
  7.   
  8.         Movie countVideo = MovieCreator.build(video);              
  9.         Movie countAudioEnglish = MovieCreator.build(audioEnglish);  
  10.   
  11.            
  12.         Track audioTrackEnglish = countAudioEnglish.getTracks().get(0);  
  13.          
  14.         countVideo.addTrack(audioTrackEnglish);  
  15.   
  16.         {  
  17.             Container out = new DefaultMp4Builder().build(countVideo);  
  18.             FileOutputStream fos = new FileOutputStream(new File("/sdcard/hope.mp4"));  
  19.             out.writeContainer(fos.getChannel());  
  20.             fos.close();  
  21.         }  
  22. }  

0 1
原创粉丝点击