视频提取音频策略(深度好文)

最近在做一款产品,需要从视频中提取音频。查了查资料发现了有FFMPEG,MP4Parser,Android自带的解码器。首先FFMPEG比较复杂据说也慢,Android自带的Media Extractor类,不过该类用于4.3以上,适配性不好。最后选择了MP4Parser类。如何在as里面增加MP4Parse支持呢?如下所示:

1、配置gradle依赖库

compile 'org.mp4parser:streaming:1.9.27'
compile 'org.mp4parser:muxer:1.9.27'

2、实现视频提取音频

 public static boolean extractMp3(String mp4FilePath, 
            String mp3FilePath) {    
    FileChannel fc = null;    
    Movie mp4 = null;    
    Movie mp3 = null;    
   try {        
      mp4 = MovieCreator.build(mp4FilePath);       
      List<Track> mp3TrackList = new ArrayList<Track>();        
      for (Track track : mp4.getTracks()) {           
          if (track.getHandler().equals("soun")) {       
              mp3TrackList.add(track);           
          }       
    }        
    mp3 = new Movie();        
    if (!mp3TrackList.isEmpty()) {           
         mp3.addTrack(new AppendTrack(
                  mp3TrackList.toArray(new Track[mp3TrackList.size()])));       
    }        
    Container container = new DefaultMp4Builder().build(mp3);        
    fc = new RandomAccessFile(mp3FilePath, "rw").getChannel();  
    container.writeContainer(fc);       
    return true;   
  } catch (IOException e) {     
         e.printStackTrace();   
  } finally {       
     try {            
         if (null != fc) {               
               fc.close();         
         }       
   } catch (IOException e) {         
      e.printStackTrace();       
   } 
}   
 return false;
}
ic_mp3.jpeg

MP4Parser方式实现视频提取音频讲解完毕,简筒们,编写代码试试吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,063评论 25 709
  • 忙完一切需要忙的事情,终究能闲下来休息一阵儿。 最忙的时候总想着结束后一定要做什么,但忙完以后却什么都不想做,只愿...
    尛腾_Logo阅读 519评论 11 7
  • 说说我和她的一切吧,我高三校运会期间,我遇上了她。那个时候她在技校,比我小两岁,也是我的初恋,直到现在也是。和大多...
    当已经接近黄昏阅读 412评论 0 2
  • 爱情是一种遇见,不能准备,也不能等待。 全书最大的槽点是封面设计和书名。封面设计得非常不烂,烂到一眼看上去就夹带着...
    更欣阅读 736评论 0 15
  • 我想出走,去一个陌生的城市流浪,不是逃避,只是想实现那些曾经的诺言。
    爱吃芒果冰阅读 231评论 0 0

友情链接更多精彩内容