范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

北上广程序员回重庆继续代码kotlin音视频解析六收藏

  今天开始就讲解工具类的开发,AudioExtractor 音频的提取类,一个音视频包含了音频和视频,我们在拿到一个mp4文件过后,如果自己写一个播放器就需要解析里面的音频和视频。
  这个工具类就是来解析音频里面的音频提取,需要用到的知识点有文件,文件异常IOException,FFmpeg 也是一个开源库,就是一个指令来提取视频里面的音频:val cmd = arrayOf("-i", video!!.path, "-vn", "-ar", "44100", "-ac", "2", "-ab", "192", "-f", "mp3", outputLocation.path)
  有了这个工具类就很方便的把视频里面的音频给提取出来了class AudioExtractor private constructor(private val context: Context) {      private var video: File? = null     private var callback: FFMpegCallback? = null     private var outputPath = ""     private var outputFileName = ""      fun setFile(originalFiles: File): AudioExtractor {         this.video = originalFiles         return this     }      fun setCallback(callback: FFMpegCallback): AudioExtractor {         this.callback = callback         return this     }      fun setOutputPath(output: String): AudioExtractor {         this.outputPath = output         return this     }      fun setOutputFileName(output: String): AudioExtractor {         this.outputFileName = output         return this     }      fun extract() {          video?.let {              if (!video!!.exists()) {                 callback!!.onFailure(IOException("File not exists"))                 return             }             if (!video!!.canRead()) {                 callback!!.onFailure(IOException("Can"t read the file. Missing permission?"))                 return             }              val outputLocation = Utils.getConvertedFile(outputPath, outputFileName)              //Create Audio File with 192Kbps             //Select .mp3 format             val cmd = arrayOf("-i", video!!.path, "-vn", "-ar", "44100", "-ac", "2", "-ab", "192", "-f", "mp3", outputLocation.path)              try {                 FFmpeg.getInstance(context).execute(cmd, object : ExecuteBinaryResponseHandler() {                     override fun onStart() {}                      override fun onProgress(message: String?) {                         callback!!.onProgress(message!!)                     }                      override fun onSuccess(message: String?) {                         Utils.refreshGallery(outputLocation.path, context)                         callback!!.onSuccess(outputLocation, OutputType.TYPE_AUDIO)                      }                      override fun onFailure(message: String?) {                         if (outputLocation.exists()) {                             outputLocation.delete()                         }                         callback!!.onFailure(IOException(message))                     }                      override fun onFinish() {                         callback!!.onFinish()                     }                 })             } catch (e: Exception) {                 callback!!.onFailure(e)             } catch (e2: FFmpegCommandAlreadyRunningException) {                 callback!!.onNotAvailable(e2)             }         }      }      companion object {          val TAG = "AudioExtractor"          fun with(context: Context): AudioExtractor {             return AudioExtractor(context)         }     } }
  上面就完成了音频的提取了完成了。
  我是一个北上广回回重庆的程序员坚持在写代码,记得点赞,关注,转发,谢谢了。

6。18狂欢夜即将到来,这三款旗舰机或将是你的不二选择时间已然来到了五月底,昨天刚过去的520不知道大家过的怎么样呢?其实这个节日对于小编而言也有些无法理解,因为这并不是传统的情人节,不知道从何时开始就出现了情人节的说法。当然了言归正平台抽成高于30滴滴排查相关订单5月20日晚间,滴滴发布公告称,正在自查平台服务费高于30的极端情况,并研究司机账单展示升级,让司机收入更合理更透明。滴滴表示,根据交通运输部等八部门约谈要求,滴滴组织了深刻学习和618主场争夺猫狗宁铆劲,电商新贵入场撰文联商网林平图片联商图库作为一年中首个大规模购物促销季,618不仅是各大商家寻求增量的主战场,同时也是各大电商平台的竞技场。5月20日,天猫京东苏宁选择在同一天对外公布618大促中芯国际拿出41亿重奖员工,人均65万,梁孟松得1360万任正非有一句名言,他说钱给多了,不是人才也变人才,意思是只要给员工高薪,高奖励,这样员工就会努力工作,为公司创造价值,成为公司需要的栋梁之才。但事实上我们知道,很多的企业,给员工的华为公司面试题,你能做对算我输最近在网上,看到很多华为阿里腾讯的面试题饶有兴趣的打开看比如华为公司面试题一头牛重900千克一座桥承重800千克牛怎么过桥我想了很多方法如利用水的浮力或者绕过桥,等等方法但是感觉既是什么力量让星球都悬浮在太空中,它们会掉下去吗?会掉到哪里去呢?牛顿定律是什么力量让星球都悬浮在太空中,它们会掉下去吗?会掉到哪里去呢?,其实会有这样的问题,还是因为没有彻底地理解牛顿定律。所以,我们可以先来简单聊一下牛顿到底说啥?牛顿三定律概618不用等凌晨抢购了!三款极品旗舰手机提前看一年一度的年中大促618即将到来,今年与往年不同,不论是TB还是JD,活动开启时间都提前了一周从5月24日开始正式揭开序幕。并且无需等到凌晨,晚上8点即可开始预售。作为京东发起的年iPhone13终极曝光,这是你想要的外观配置吗?iPhone12发布已经有大半年了想必大家的目光都转移到了iPhone13身上吧那么iPhone13究竟有些什么样的改变呢首先来看一下外观根据外媒的爆料可以看出新款iPhone依然骁龙870跑分74万!iQOO新机很香进去找毫大大iQOO的又一款新机要来了!而且依然主打性价比,卢伟冰的K40系列又要面临严峻的挑战了。在今年,iQOO和realme这两年新生代品牌可算出尽了风头,不仅机子大卖,还成新能源领域的小可爱,欧拉白猫欧拉白猫(以下简称白猫),作为欧拉品牌可爱系的代表作之一,自上市以来就备受关注。目前,白猫的厂商指导价为7。1810。68万元,略高于欧拉黑猫。白猫的定位是纯电动的两厢车,目前在售为什么核聚变到产生铁元素时就停止了?铁元素后,核聚变依然能进行。只是聚变将不再释放能量,而是吸收能量。所以恒星内的核聚变当聚变到铁后(准确的说应该是镍62,但镍最后都会变成铁),因为不再释放能量,恒星的平衡被打破,核
DreamweaverCC2019forMAC如何自定义键盘快捷键dobeDreamweaver简称dw,是一款专业的网页设计软件,集网页制作和网站管理于一身的即时检索的网页代码编辑器,AdobeDreamweaver使用所见即所得的接口,亦有Hmac三维设计绘图软件AutoCAD怎样汉化激活?AutoCAD2018mac图文安装教程1下载完成后打开AutoCAD2018安装包,双击打开AutodeskAutoCAD2018MacOSX。dmg,如下图所示2双击打开Ins音乐会舞台摄影调色LR预设今天为大家分享的是音乐会舞台摄影调色lr预设,内含多种不同风格类型的Lightroom预设,包括lr黑白预设,lr暖色调预设,lr电影预设等,每个预设都经过精心设计,只需点击一下即LibreOfficeforMac一整套的Mac办公软件大放送!!!提起办公软件好多人首先想到的是office系列wps系列,那你就太孤寡闻了,这套LibreOfficeforMac办公套件远比office系列wps系列要强大的多,它是一款开源的办为什么Mac远程连接软件选择RemoteDesktopforMac?Mac远程连接软件哪款好用?macdown推荐MicrosoftRemoteDesktopmac,MicrosoftRemoteDesktop是一款MacOS平台上的远程桌面控制软打消里程焦虑,最高续航520km,这款纯电动SUV有多香?说到小鹏汽车,作为造车新势力的一员,相比起哪吒汽车零跑汽车这些,它的市场发展速度就快了许多,而这原因不仅仅在于小鹏汽车旗下的产品实力,更多的小鹏汽车足够有钱,请的起网红大V。今天我嫌凯美瑞太佛系?20来万选择这三款或许更合适,性能强品质优在20万级的中型车市场中,雅阁和凯美瑞可以说是许多消费者绕不开的一个选择。其中凯美瑞更是凭借着丰田可靠品质,以及全系TNGA架构和混动系统的加持,市场口碑是有着隐隐赶超雅阁的趋势。OmniPlanPro3项目流程管理软件如何使用?OmniPlanPro3如何使用,OmniPlan核心功能快速入门什么要用到OmniPlan?OmniPlan是MacOSX平台的的一款非常强大的项目管理软件,它提供的功能包含了自科学计算软件Mathematica12新增功能有哪些?Mathematica12Mac新增功能Mathematica12显着扩展了Mathematica的功能,并引入了许多增强功能,使系统更加平滑和高效。以下是具体新增功能!欢迎点击下RightFontforMac如何在团队中使用Dropbox同步和共享字体?RightFontforMac如何在团队中使用Dropbox同步和共享字体?RightFont可以与多种字体协作使用,并且可以轻松地与整个团队共享字体。在这篇文章中,您将学习使用DMac笔记本编辑工具Outline如何恢复笔记?Outline教程如何恢复在Outline中关闭的笔记本?如果您在Outline中意外关闭了笔记本,大多数情况下再次打开笔记本是很容易。本篇文章就让你小编给您详细讲解一下如何恢复在