很多文章关于将MP4转为MP3写的都很复杂,我这里总结一个比较简单的方法。此方法有个BUG,最后再说。但整体功能比较简单可用。

一,导入第三方文件

此方法用到3个第三方库文件如下,(资源和Demo在文章最底部)

将这3个库文件导入项目的libs文件夹,并右键 Add As Library

二,写一个转换用的静态类 ChangeUtil.kt

package 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.*/*** 搜索关注公众号:小众时代* 分享高清 PDF电子书* 分享数十款App 小图标,可直接用于项目* 分享多种 学习 娱乐 资源*/
object ChangeUtil {fun changeToMp3(from:String,to:String){try{val audioTracks: MutableList<Track> = LinkedList()val movie = MovieCreator.build(from)for (t in movie.tracks) {if (t.handler == "soun") {audioTracks.add(t)}}val result = Movie()if (audioTracks.size > 0) {result.addTrack(AppendTrack(*audioTracks.toTypedArray()))}val out = DefaultMp4Builder().build(result)try {val fc = RandomAccessFile(to, "rw").channelout.writeContainer(fc)fc.close()} catch (e: Exception) {e.printStackTrace()}}catch (e:Exception){Log.d("ERR",e.toString())}}
}

MP4转为MP3的核心方法就是上面这个方法,内部的实现不需要过多去了解。

只要知道,changeToMp3() 这个 函数中的两个参数,第一个是要转换的mp4视频文件的绝对路径,第二个是转换后的mp3音频文件的绝对路径。

三,具体实现

经过上面两步其实转换Mp3的过程已经可以实现了。

源码还涉及到外部文件夹的建立,权限的申请,文件的拷贝等内容,全写出来篇幅过长,也不利于查看,需要的话可直接下载Demo源码。

四,BUG

经测试,从抖音上下载的视频,都可以正常保存为MP3,但是通过摄像头录像的视频,在转换为MP3时会报内存溢出,目前不知道如何解决,有高手可以给出解决方案请留言

资源地址:

链接:https://pan.baidu.com/s/11pJDJsLyebDtsu_a1IuO2A 
提取码:9999

android 视频转音频,将mp4文件转换为mp3文件的方法相关推荐

  1. 语音amr文件转换为mp3文件

    1.安卓前端生成amr语音文件,经过base64加密变成加密字符串 2.把加密后的字符串解密成amr文件 生成amr文件目录   String fileUrl = System.getProperty ...

  2. 如何将微信amr文件转换为mp3文件

    本篇经验将介绍,如何将微信的amr文件转换为mp3文件. 工具/原料 电脑 电脑软件:silk2mp3 amr文件 方法/步骤 下载软件,解压. 进入以下目录,打开软件. silk-v3-decode ...

  3. 使用Python把flv格式的文件转换为mp3格式

    目的:想把喜欢视频转换为音频,在手机上听 以下的是转换的关键代码,首先要确保moviepy库是安装成功了. import moviepy.editor as mpif __name__ == &quo ...

  4. matlab从mp4文件中提取音频,怎么提取MP4视频中的音频,将MP4格式转换为MP3格式

    原标题:怎么提取MP4视频中的音频,将MP4格式转换为MP3格式 MP4已经成为互联网上最流行的视频格式,我们从各种视频资源网站上下载到的视频文件大部分都是以MP4格式存储的.尤其是一些高品质的歌曲M ...

  5. PHP 将amr音频文件转换为mp3格式

    PHP 将amr音频文件转换为mp3格式 说下整体思路 1.服务器安装ffmpeg 2.使用ffmpeg -i 指令来转换amr为mp3格式(这个到时候写在PHP代码中,使用exec函数执行即可) 3 ...

  6. 用 python 脚本+ffmpeg,把当前目录及子目录下的 wma音频文件转换为mp3 格式

    用 python 脚本+ffmpeg,把当前目录及子目录下的 wma音频文件转换为mp3 格式 用 python 脚本,结合ffmpeg软件,把当前目录及子目录下的 wma 音频文件转换为 mp3 格 ...

  7. php speex转码为mp3,将spx音频文件转换为mp3

    我必须将spx音频文件(ogg格式)转换为mp3文件.我已经尝试了几件事,至今没有任何工作.将spx音频文件转换为mp3 我试过使用Naudio.Lame库中的LameMP3FileWriter. p ...

  8. 如何将 EXE 文件转换为 APK 文件以在 Android 上运行

    什么是 .exe 文件? .exe 是一种非常常见的文件格式,它实际上是"可执行"文件的缩写形式.此类文件通常用于运行或安装 Windows 计算机的软件应用程序.您在 Windo ...

  9. 如何将音频文件转换为MP3格式?

    音频文件有很多种格式,如 WAV.FLAC.AAC 等,其中 MP3 是最为常见的一种格式,因为它具有压缩比高.音质损失少.兼容性强等优点,适合在各种设备上播放.如果你想将一个音频文件转换为 MP3 ...

最新文章

  1. 2017/05/07 java 基础 随笔
  2. Mathematica 画图操作中的一些小惊喜
  3. CodeSmith实用技巧(二):使用FileNameEditor
  4. jvm性能调优实战 -50修复Metaspace区域内存溢出问题
  5. html5 XMLHttpRequest 图片异步上传
  6. 【数据结构】绪论部分
  7. Angular前端事件处理函数的形参名必须为某个硬编码值的怪事
  8. Linux常用命令——chattr、lsattr
  9. 解决在firefox浏览器不支持ajax的transport.responseXml方法问题
  10. UIView animateWithDuration 使用详解
  11. elasticsearch 集群
  12. Java中迭代Map的方法
  13. Ubuntu系统安装JDK教程
  14. aix查询服务器内存序列号_AIX查看cpu_内存序列号
  15. NoSQL03 - 主从复制、RDB/AOF持久化 数据类型
  16. 中兴F450电信光猫改桥接模式
  17. 【设计】计数(一)基数计数
  18. 锆石科技开发板的简单介绍
  19. 第8章 SMS--短信服务
  20. 提高代码质量的那些建议

热门文章

  1. 确定RNA-seq链特异性
  2. JavaScript数组遍历和过滤常用方法
  3. 苹果开发者:Siri未开放API 有些让人失望
  4. 【C语言】VS编辑器实用的调试技巧
  5. Web网页设计之HTML_5. HTML 表格
  6. 小项目-弹幕数据分析+词云展示
  7. MTK 4G核心板MT6771可做什么方案?
  8. 教师教学常用计算机软件,浅谈《计算机常用工具软件》的教学心得
  9. 建立空间计量模型时对数据进行LM检验的Stata代码
  10. JVM调优-配置参数