Kotlin编写一个Progress对话框在线音视频解析四
又来闲聊了,早期的这几篇文章主要是几个对话框的实现。
在小的需求都是需要一句一句代码来迭代的,一个在完美的项目也是这么一点一点来的
kotlin语言说用就用,用就必须用该语言写个项目,所以就有了这一系列文章
〔偷笑〕悄悄的就开发上了,不知道大家对我的作品感兴趣不?〔what〕
如果感兴趣请大家关注一下,点个赞〔左上〕,收藏一下〔给力〕,转发一下对我的支持。
这个对话框代码如下classProgressDialog:DialogFragment(),MainActivity。ProgressPublish{vartext:Stringlateinitvarprogresstext:AppCompatTextViewlateinitvarnametext:AppCompatTextViewlateinitvarstopButton:ButtonoverridefunonProgress(progress:String){this。textprogressprogresstext。texttext}overridefunonDismiss(){dismiss()}companionobject{valTAGProgressDialog::javaClass。namevarname:Stringfunshow(fragmentManager:FragmentManager,name:String){ProgressDialog()。show(fragmentManager,TAG)this。namename}}overridefunonCreateDialog(savedInstanceState:Bundle?):Dialog{MainActivity。setProgressListener(this)valviewactivity!!。layoutInflater。inflate(R。layout。dialogprogress,null)progresstextview。findViewById(R。id。txtprogress)nametextview。findViewById(R。id。txtname)stopButtonview。findViewByIdButton(R。id。stop)progresstext。texttextnametext。textnamestopButton。setOnClickListener{FFmpeg。getInstance(activity!!)。killRunningProcesses()dismiss()}returnAlertDialog。Builder(activity)。setCancelable(false)。setView(view)。setTitle(RunningFFMpegCommands)。create()}}
代码够简单,其实kotlin写习惯了也是挺方便的,就是一个简洁的java代码。
大家应该看到了里面有个FFmpeg。getInstance(activity!!)。killRunningProcesses()这个库挺好的,就是我这次项目要用到的,解决了FFmpeg的封装:ffmpegandroidjava如果大家有对音视频处理的可以用这个库,编译好了不用自己去编译了。这句代码主要做了如下处理:Util。killAsync(ffmpegLoadLibraryAsyncTask)Util。killAsync(ffmpegExecuteAsyncTask);staticbooleankillAsync(AsyncTaskasyncTask){returnasyncTask!null!asyncTask。isCancelled()asyncTask。cancel(true);}
好了这就是这个对话框的主要功能,今天就分享到这里了,谢谢大家的观看
记得点赞,关注,转发哟