前言
Android开发中从视频中提取音频主要有三种方式结合FFmpeg,MP4Parser,MediaExtractor。
多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等,FFmpeg支持的音视频格式非常全面,github上也有很多不错相关开源框架。我在这里用的是RxFFmpeg。
使用方法
- 在根目录下的build.gradle里添加maven仓库
allprojects {
repositories {
...
maven {
url 'https://www.jitpack.io' }
}
}
- 添加依赖,最新版本
dependencies {
implementation 'com.github.microshow:RxFFmpeg:2.1.0'
}
- 这里处理了截取视频中音频片段,有两个参数一个是startTime 截取的开始时间,另外一个是time 就是你要截取的总时长。这里还需一个要注意的地方就是给文件命名不可以出现重复,我就直接取当前时间戳了,再在后边拼接上你需要的音频格式(.wav/.mp3等)。
override fun extractAudio(startTime: String, time: String, path: String,name:String,deType:String) {
var type = SharedPreferencesUtils.getString(
MyApplication.INSTANCE,
Constant