Kotlin编写一个VideoDialog 音视频解析五

这篇文章出了一个意外,意外的让我的文章写好了,没有保存。然后我点击保存也保存不了,我就不小心返回了,结果文章就没有了,所以也就白写了。


公众号这方面值得优化一下,在浏览器的兼容上面做的不是很好,我在chrome浏览器上面写的文章根本没办法发送,所以我就下载了一个火狐浏览器来写文章了。


所以这篇文章就来的晚了一点点,但是还好它还是来了。


今天我们继续来看看kotlin编写的一个视频解析对话框,还是老规矩,先上源码。

class VideoDialog : DialogFragment() {

    companion object {
        val TAG = VideoDialog::javaClass.name

        lateinit var file: File

        fun show(fragmentManager: FragmentManager, file: File) {
            this.file = file
            VideoDialog().show(fragmentManager, TAG)
        }
    }

    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {

        val view = activity!!.layoutInflater.inflate(R.layout.dialog_video_preview, null)

        val videoView = view.findViewById(R.id.video_view)
        val videoInfo = view.findViewById(R.id.video_info)

        videoView.setVideoPath(file.path)

        val mediaController = MediaController(activity)
        mediaController.setAnchorView(videoView)
        videoView.setMediaController(mediaController)

        //Close this dialog on completion
        videoView.setOnCompletionListener {
            dismiss()
        }

        //Show duration of video
        videoView.setOnPreparedListener {
            @SuppressLint("SetTextI18n")
            videoInfo.text = "Duration: ${Utils.milliSecondsToTimer(videoView.duration.toLong())}
"
        }

        videoView.start()

        return AlertDialog.Builder(activity)
                .setView(view)
                .setTitle("Preview")
                .setPositiveButton("Cancel") { dialog, which ->
                    dismiss()
                }
                .create()
    }
}

这套代码也很简单,里面就是一个DialogFragment弹窗,里面用到了几个安卓跟视频有关系的API,videoView控件,MediaController 视频控制器,用来控制视频的播放和暂停快进等等。


setOnPreparedListener 这个回调主要是在视频加载完毕准备播放的时候回调,这个对话框主要是用来做视频预览的功能,也很简单。


今天就讲解到这里,欢迎大家点击关注,点赞,谢谢了。

Kotlin编写一个VideoDialog 音视频解析五

展开阅读全文

页面更新:2024-03-21

标签:老规矩   火狐   控件   对话框   控制器   源码   公众   加载   浏览器   意外   小心   关系   简单   数码   文章   视频

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top