很多文章关于将MP4转为MP3写的都很复杂,我这里总结一个比较简单的方法。此方法有个BUG,最后再说。但整体功能比较简单可用。
一,导入第三方文件此方法用到3个第三方库文件如下,(资源和Demo在文章最底部)
将这3个库文件导入项目的libs文件夹,并右键 Add As Library
二,写一个转换用的静态类 ChangeUtil.ktpackage com.android.videotomp3
import android.util.Log
import org.mp4parser.muxer.Movie
import org.mp4parser.muxer.Track
import org.mp4parser.muxer.builder.DefaultMp4Builder
import org.mp4parser.muxer.container.mp4.MovieCreator
import org.mp4parser.muxer.tracks.AppendTrack
import java.io.RandomAccessFile
import java.util.*
object ChangeUtil {
fun changeToMp3(from:String,to:String){
try{
val audioTracks: MutableList
MP4转为MP3的核心方法就是上面这个方法,内部的实现不需要过多去了解。
只要知道,changeToMp3() 这个 函数中的两个参数,第一个是要转换的mp4视频文件的绝对路径,第二个是转换后的mp3音频文件的绝对路径。
三,具体实现经过上面两步其实转换Mp3的过程已经可以实现了。
源码还涉及到外部文件夹的建立,权限的申请,文件的拷贝等内容,全写出来篇幅过长,也不利于查看,需要的话可直接下载Demo源码。
四,BUG经测试,从抖音上下载的视频,都可以正常保存为MP3,但是通过摄像头录像的视频,在转换为MP3时会报内存溢出,目前不知道如何解决,有高手可以给出解决方案请留言
资源地址:
链接:https://pan.baidu.com/s/11pJDJsLyebDtsu_a1IuO2A
提取码:9999



