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

Kotlin编写DialogFragment音视频解析二

  这篇文章是继续上一篇讲解得,上一篇我们说了一下关于Kotlin解析音视频得内容,上篇主要说了关于整个项目得回调方法,这篇我主要说一下关于项目里面重要的几个对话框。
  第一个对话框,首先我把全部代码贴出来,然后一一分析。
  class AudioDialog : DialogFragment() {      var startTime: Long = 0     var finalTime: Long = 0     lateinit var mediaPlayer: MediaPlayer     lateinit var countDownTimer: CountDownTimer      companion object {         val TAG = AudioDialog::javaClass.name          lateinit var file: File          fun show(fragmentManager: FragmentManager, file: File) {             this.file = file             AudioDialog().show(fragmentManager, TAG)         }     }      @SuppressLint("SetTextI18n", "ClickableViewAccessibility")     override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {          val view = activity!!.layoutInflater.inflate(R.layout.dialog_audio_preview, null)         val seekBar = view.findViewById(R.id.seekBar)         seekBar.isEnabled = false         val info = view.findViewById(R.id.video_info)          if (file != null) {             mediaPlayer = MediaPlayer.create(activity, Uri.fromFile(file))             mediaPlayer.start()         }          finalTime = mediaPlayer.duration.toLong()         startTime = mediaPlayer.currentPosition.toLong()         seekBar.max = finalTime.toInt()          mediaPlayer.setOnCompletionListener {             dismiss()         }          seekBar.setMax(mediaPlayer.duration)          seekBar.setOnTouchListener(object : OnTouchListener {             override fun onTouch(v: View, event: MotionEvent): Boolean {                 return true             }         })          countDownTimer = object : CountDownTimer(mediaPlayer.duration.toLong(), 250) {             override fun onTick(millisUntilFinished: Long) {                  startTime = mediaPlayer.currentPosition.toLong()                 info.text = "Duration: ${Utils.milliSecondsToTimer(mediaPlayer.duration.toLong())} " + getTime()                 seekBar.progress = seekBar.progress + 250              }              override fun onFinish() {             }         }.start()          return AlertDialog.Builder(activity)                 .setView(view)                 .setTitle("Preview")                 .setPositiveButton("Cancel") { dialog, which ->                     dismiss()                 }                 .create()     }      fun getTime(): String {         return String.format("%d min, %d sec",                 TimeUnit.MILLISECONDS.toMinutes(startTime),                 TimeUnit.MILLISECONDS.toSeconds(startTime) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(startTime)))      }      override fun onPause() {         super.onPause()         mediaPlayer.stop()         mediaPlayer.reset()         mediaPlayer.release()         countDownTimer.cancel()     } }
  整个对话使用到了一个MediaPlayer方法,主要是用来做音视频相关的业务,这也是Android 官网提供的API。
  CountDownTimer 这个方法也是安卓OS包下面的一个方法,作用就是用倒计时用的。这里主要是用来解析一个视频的一个开始时间。
  项目里面设计到一个布局界面这里我拿出来。
  <?xml version="1.0" encoding="utf-8"?>               
  OK 大家看到这个布局应该知道具体做了什么了,就是一个弹窗来解析一下视频,然后裁剪开始时间和结束时间。

什么是元宇宙商城?身临其境的沉浸式购物体验如何实现?解答这个问题,理解和认知元宇宙是必要的。元宇宙不属于技术范畴,它是一个理念和概念,元宇宙需要整合不同的新技术,如5G6G人工智能大数据等。元宇宙强调虚实相融整合多种新技术而产生的新路由器桥接步骤太繁琐,如何让wifi信号每个房间都满格?路由器桥接步骤太繁琐,如何让wifi信号每个房间都满格?如果按照200元钱的入门级的路由器肯定达不到要求国家对无线路由器的发射功率是有明确要求的,发射功率最大不能超过100毫瓦,那如果一个人坚持学英语,有一天突然不看字幕也能看懂美剧及电影是怎样的一种体验?有一天晚上,老公又捧着手机追看权力的游戏,11点都过了,还在看。我躺着睡,听着剧中对话,怎么也睡不着,于是就闭眼静听,听着听着,突然发现人物对话居然能听懂了,瞬间,我激动了,精神来我愿称它为便携王者,极米Play超悦版初体验前段时间小鹏P5内置极米车载投影的事情,让我对便携投影产生了很大的兴趣,从坚果P3S,到当贝C1,Anker可乐罐,我几乎看遍了各家的便携投影,但是对比下来,最最最让我满意的可能就两三分钟一集,收费一元起!刷抖音快手也要付费了?这年头,刷个短视频都要付费了。近日,据界面新闻潇湘晨报等多家媒体报道,有消息表示,抖音正在测试短剧付费功能。据了解,抖音短剧的付费模式与付费小说类似,是按集数进行付费,每集最低1元数字货币将在冬奥会试点应用数字货币冬奥会今天美国宣布将不派任何外交或官方代表出席2022年冬奥会,这种所谓的外交抵制早在预料之中,Whocares?从这也看得出拜登这位老朋友,实际上并没有改变上一任总统对华realme真香千元机,跑分68万256GB屏下指纹,到手价仅1479元很多用户宁愿一年一换千元机,也不愿意花五六千元买苹果手机用三四年,这种想法还是不错的,而其实目前的国产千元机,流畅用个两年也是没问题的。如今的千元机市场,机型也是十分多,并且性价比日本要零件有零件,要摄像头有摄像头,为何日本生产不出畅销的手机?日本要零件有零件,要摄像头有摄像头,为何日本生产不出畅销的手机?确实论技术零部件制造实力日本都很厉害,而其在世界上能够叫得响卖得好的手机,真的几乎没有。被外界知道的比如索尼松下NE金袋子5G智能环保取袋机投放2个月,商家们这样说随着禁塑不断推进落实,商户们开始苦恼,因为在之前所用的塑料袋,一般普通小商户都是直接赠送给顾客的,现在都不行了,环保袋的成本高出十几二十倍,商家送不起,顾客难接受。助力商家降本增效贵族手机销声匿迹,曾经象征身份的8848,为何会沦落至此?文BU审核子扬校对知秋王石代言成功人士的代名词奢华鳄鱼皮珍贵钛金属你是否对这个词汇感到熟悉?没错,这就是8848钛金手机。成功人士标配2015年,8848手机问世。凭借着疯狂的广告滴滴美国退市谁亏惨?柳传志快被查了?坚决不让滴滴香港上市,之所以还要上市是因为在美国要溢价回购,会亏一大笔,在港上市圈钱了才能拿老百姓的钱去补窟窿。风投亏惨高管亏惨,如果国内不给它上市融资估计可能破产老美可不是大A股
苹果华为领衔,年底还值得入手的三款旧旗舰,保值率极高随着年底又一波新机潮来袭,今年发布的新机可是太多了!而这时对于很多旧机,降价成了必然的出路,要不就是参与优惠活动,要不就是二手大量出现但今天小编想说说有这么几款机型,发售一年了,市为什么有人宁愿溢价买华为,也不考虑性价比高还有现货的小米?性价比需求价格。记住这个公式,不要被某些厂商带偏了,便宜就是性价比高,贵的就是性价比低么?怎么理解这个公式?同样的价格,能满足用户的需求越多,那性价比也就越高。能满足用户的需求,价续航里程接近腰斩!潮水退去之后就知道谁在裸泳!新能源车冬季能跑多远?续航里程会腰斩嘛?我相信续航是广大新能源车消费者十分重视的问题,尤其是深处我国北部地区的车主们。对他们来说,续航里程折扣的越少,低气温下跑的越久,日常出行患上互联网大公司深陷裁员潮,是行业问题还是未来趋势?1。互联网发展到当下阶段,流量红利已经消失,获客成本越来越高,但是新增流量不足,增长乏力。2。绝大多少互联网的创新更多的是业务场景的创新,把传统的线下业务搬到线上,没有开拓新的市场对于联想杨元庆此时以个人名义捐款的事你怎么看,是想收买人心吗?再怎么捐也收不回人心了,因为这些厚此薄彼的所谓的企业家,在我们老百姓眼里也一文不值。杨解释如何贷款几十亿买联想股份才是正解聪明人。地位太高了,要有自觉,要有大爱。钱太多花不完的,共新品荣耀x30性能怎么样?感谢邀请新品荣耀x30性能怎么样?从客观角度来说和同价位的手机配置不成正比,虽然荣耀赵明确实说过我们能把高通778G处理器的性能发挥到极致,甚至媲美高通888。但是我们要知道的是受司柳之争的结果会是什么样?司柳之争的结果怎样,我们暂且不说,但从这场风波的持续发酵,可以明显地看出已经形成了鲜明的两大阵线即以支持司马南为一方的广大的劳动群众和以支持柳先生一方的既得利益集团和一些所谓精英代新手必备吸尘器飞利浦家电FC6409马上就要到年底了,家家又要开启大扫除模式了。而今吸尘器已经在家里的地位是非常高的立刻!成为了大扫除必备工具之一,但是现在市面上吸尘器的种类实在是太多了,还有一些有尘袋,有些没有,现真的卖不动了?骁龙888旗舰直降1000离场,5倍光变120W2亿镜头努比亚发展至今虽已沦为小众品牌,但它敢于创新的精神还是让不少用户对它保留着深刻的印象。还记得当初努比亚推出的极限屏占比新机很有影响力,但现在由于努比亚的名气没有华米OV的大,导致旗ViV0一NE逆天黑科技,全屏发声技术从2013年业内第一台2K屏手机Xplay3S,到2016年的HiFi旗舰机皇Xplay5旗舰版,再到世界首款量产的屏幕指纹手机X21UD版,以及2018年6月的黑科技旗舰vivo新能源汽车面临两条技术路线,追风口还是追趋势?今年中国新能源汽车市场爆发式增长。中国汽车工业协会的数据显示,110月,全国新能源汽车销量已超250万辆。多家新能源车企11月销量涨幅超过100,创下历史新高。有专家预计,前11个