Android开发基础实现最简单的视频播放示例

 更新时间:2023年02月05日 10:25:26   作者:ObliviateOnline  
这篇文章主要为大家介绍了Android开发基础实现最简单的视频播放示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正篇

视频播放是很平常的一件事情,但如何在APP中实现呢,其实蛮简单的,方法也很多,但作为基础的就是使用VideoView了,下面我们来看看如何使用它。

使用方法

首先我们在项目中的res资源文件夹下新建一个新的文件夹“raw”

然后我们把MP4文件放到该文件夹下即可

接着我们先把布局完成,以方便后续操作,布局文件代码如下

XML布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <VideoView
        android:id="@+id/videoView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button
            android:id="@+id/replay"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/str_replay"/>
        <Button
            android:id="@+id/play"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/str_play"/>
        <Button
            android:id="@+id/pause"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/str_pause"/>
    </LinearLayout>
</LinearLayout>

我们在布局中把VideoView添加进去,然后再加三个按钮来控制视频播放,用于重播,播放与暂停视频。

Activity文件代码如下:

package com.example.myapplication
import android.net.Uri
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.example.myapplication.databinding.ActivivtyPlayVideoBinding
class ActivityPlayVideo :AppCompatActivity() {
    lateinit var binding : ActivivtyPlayVideoBinding
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivivtyPlayVideoBinding.inflate(layoutInflater)
        setContentView(binding.root)
        val uri = Uri.parse("android.resource://$packageName/${R.raw.video}")
        binding.videoView.setVideoURI(uri)
        //处理播放控件
        initVideo()
    }
    override fun onDestroy() {
        super.onDestroy()
        //释放
        binding.videoView.suspend()
    }
    private fun initVideo() {
        binding.replay.setOnClickListener {
            if (binding.videoView.isPlaying) {
                //重新播放
                binding.videoView.resume()
            }
        }
        binding.play.setOnClickListener {
            if (!binding.videoView.isPlaying) {
                //开始播放
                binding.videoView.start()
            }
        }
        binding.pause.setOnClickListener {
            if (binding.videoView.isPlaying) {
                //暂停播放
                binding.videoView.pause()
            }
        }
    }
}

写完布局文件,我们再回到Activity文件中,把mp4文件通过Uri.parse()方法解析成Uri对象然后用VideoView的setVideoURI()方法传入Uri对象即可完成初始化,然后我们通过它的start(),pause(),resume()以及suspend()方法实现视频的播放,暂停,重播以及释放资源。

最终效果展示

运行后如下效果:

总结

这个控件限制蛮多的,很多格式视频不支持,而且也是封装后的,有时间可以再看看播放器相关的知识,下次再出一篇文章来详细说说。

以上就是Android开发基础实现最简单的视频播放示例的详细内容,更多关于Android开发简单视频播放的资料请关注脚本之家其它相关文章!

相关文章

  • Android使用KeyStore对数据进行加密的示例代码

    Android使用KeyStore对数据进行加密的示例代码

    这篇文章主要介绍了Android使用KeyStore对数据进行加密的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Android入门之动态BroadCast的使用教程

    Android入门之动态BroadCast的使用教程

    系统自己在很多时候都会发送广播,比如电量低或者充足,刚启动完,插入耳机,你有一条新的微信消息,这种都是使用BroadCast机制去实现的。BroadCast分为静态和动态BroadCast两种,本文就来聊聊动态BroadCast的使用,需要的可以参考一下
    2022-12-12
  • Android通知栏前台服务的实现

    Android通知栏前台服务的实现

    这篇文章主要介绍了Android通知栏前台服务的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Android入门:多线程断点下载详细介绍

    Android入门:多线程断点下载详细介绍

    本篇文章主要介绍了 Android多线程断点下载,即文件在下载一部分中断后,可继续接着已有进度下载,有需要的可以了解一下。
    2016-11-11
  • Android IntentFilter的匹配规则示例详解

    Android IntentFilter的匹配规则示例详解

    这篇文章主要为大家介绍了Android IntentFilter的匹配规则示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Android桌面组件App Widget用法入门教程

    Android桌面组件App Widget用法入门教程

    这篇文章主要介绍了Android桌面组件App Widget用法,较为深入浅出的分析了Android桌面组件App Widget的功能、定义及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • Android中Activity生命周期和启动模式详解

    Android中Activity生命周期和启动模式详解

    这篇文章主要介绍了Activity生命周期和启动模式详解的相关资料,需要的朋友可以参考下
    2016-07-07
  • Android 二维码扫描和生成二维码功能

    Android 二维码扫描和生成二维码功能

    二维码,我们也称作QRCode,QR表示quick response即快速响应,在很多App中我们都能见到二维码的身影,最常见的莫过于微信了。下面通过本文给大家讲解Android 二维码扫描和生成二维码功能,需要的朋友参考下吧
    2017-12-12
  • Android中截取当前屏幕图片的实例代码

    Android中截取当前屏幕图片的实例代码

    该篇文章是说明在Android手机或平板电脑中如何实现截取当前屏幕的功能,并把截取的屏幕保存到SDCard中的某个目录文件夹下面。实现的代码如下:
    2013-08-08
  • Android自定义view倒计时60秒

    Android自定义view倒计时60秒

    这篇文章主要为大家详细介绍了Android自定义view倒计时60秒,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08

最新评论