Android引导页播放视频——使用VideoView

Android : Dialog中VideoView全屏播放 Android : Dialog中VideoView全屏播放 前几天公司要求在引导页播放视频,如果跳转到activity去进行播放,再返回时生命周期方法调动会不太好,最后改成了在引导页构建一个Dialog,在Dialog中进行VideoView的全屏视频播放。具体代码如下: private void playVideo(){ View dialogView=View.inflate(Mai... 阅读详情

有时候大家看到QQ等软件的引导页,播放一段酷炫的视频,觉得很有意思,于是就会想要尝试自己去实现以下。其实很简单,用VideoView就可以实现。

首先,创建定义的VideoView。

public class CustomVideoView extends VideoView {
    public CustomVideoView(Context context) {
        super(context);
    }

    public CustomVideoView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public CustomVideoView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        //我们重新计算高度(这样就可以匹配不同手机的尺寸)
        int width = getDefaultSize(0, widthMeasureSpec);
        int height = getDefaultSize(0, heightMeasureSpec);
        setMeasuredDimension(width, height);
    }
}

LauncherActivity:

public class LauncherActivity extends AppCompatActivity implements View.OnClickListener {

    private CustomVideoView vv;
    private Button btn_start;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_launcher);
        vv = (CustomVideoView) findViewById(R.id.videoview);
        btn_start = (Button) findViewById(R.id.btn_start);
        btn_start.setOnClickListener(this);
        initView();
    }
    private void initView() {
        //设置播放加载路径
        vv.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.wildlife));
        //播放
        vv.start();
        //循环播放
        vv.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mediaPlayer) {
                vv.start();
            }
        });

    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.btn_start:
                Toast.makeText(this,"进入了主页",Toast.LENGTH_SHORT).show();
                startActivity(new Intent(this, MainActivity.class));
                finish();
                break;
        }
    }
}
这里播放了raw目录下的一段视频,wildlife.3gp。

activity_launcher.xml布局文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="org.hunter.videobootpage.LauncherActivity">

    <org.hunter.videobootpage.CustomVideoView
        android:id="@+id/videoview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <Button
        android:id="@+id/btn_start"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="56dp"
        android:text="进入"/>

</android.support.constraint.ConstraintLayout>

直接运行就能看到效果了。So easy!

源码下载:https://github.com/gengqifu/VideoBootPage

videoview实现视频引导页及从assets文件中读取文件到本地SD卡 阅读详情

相关推荐

Android 视频作为欢迎页面Demo

目前,视频播放作为欢迎页越来越多,用Android studio 的可以直接使用

android 启动视频,android 启动页面全屏播放视频

有时候大家在启动软件的时候,会看到有一个比较炫酷的短视频,觉得很有意思,现在做项目的时候也遇到了,跟大家分享一下。首先,在 res 目录下建一个文件夹 raw, 把你的视频文件(.mp4等)放进去。然后, 在 layout 添加布局文件 my_videoview.xml, 内容如下:android:layout_width="match_parent"android:layout_height="...

weixin_32578799的博客 1175

Android仿腾讯视频启动页及广告页动画

android仿腾讯视频启动页及广告页面动画效果实现

android启动页播放视频教程,android-video-player – Android:视频为启动画面

我想播放视频作为启动画面.我已经实现了播放视频,但它显示默认控件,如播放,暂停和搜索等.我想删除所以后视频完成我需要调用新活动.MediaController mc = new MediaController(this);getWindow().setFormat(PixelFormat.TRANSLUCENT);video.setMediaController(mc);video.setVide...

weixin_36452379的博客 818

Android_SplashScreen_Video:SplashScreen 在加载 Main Activity 之前播放视频

Android_SplashScreen_Video SplashScreen 在加载 Main Activity 之前播放视频。

AI开发助手介绍

AI开发助手介绍随着NLP方向发展越来越成熟,AI写代码领域出现了几个非常好的模型,今天笔者给大家推荐几个AI Coding 助手AI Coding助手是以IDEA插件或vim插件形式提供服务,在编辑器中写代码时,可以实时预测下一行要输入的代码,提升开发效率。Github Copilot首先要介绍的是Github Copilot,Copilot是个AI Coding助手,它从注释和代码中提取上下文,给出单行和整个函数的代码建议,Copilot由Open AI 的CodeX模型提供支持,它是一个由OpenAI

bobo_simpler的博客 5765

Android 启动页面与广告页面的实现

在我们APP的开发过程中,启动页面是绕不开的,广告页面说不定,但是不得不说,这两个界面都是经常要用到的。接下来我记录一下我的实现过程。项目架构为MVP。   那么先看看我们的需求和流程:(当然这也是可以根据实际需求改动的)    展示 logo 页面3秒 服务端可以控制是否播放广告 服务端可以控制播放广告的秒数 服务端可以控制广告的内容(图片)和广告详情页面的链接   这里需要注意的一点是,

zone_的博客 4万+

手把手教你用运放和基准源,把±10V信号变成ADC能吃的0-4V(附完整计算过程)

本文详细介绍了如何利用OP07运放和REF5040基准源设计工业级信号调理电路,将±10V传感器信号转换为0-4V ADC可接受范围。通过七步流程,包括需求分析、元器件选型、电路设计、理论计算、PCB布局、实测验证与性能优化,帮助工程师解决信号不匹配问题,提升系统精度与稳定性。

weixin_28731223的博客 468

Android高级控件(四)——VideoView 实现引导页播放视频欢迎效果,超级简单却十分的炫酷...

Android高级控件(四)——VideoView 实现引导页播放视频欢迎效果,超级简单却十分的炫酷 是不是感觉QQ空间什么的每次新版本更新那炫炫的引导页就特别的激动,哈哈,其实他实现起来真的很简单很简单,就一个官方自带的VideoView就可以实现了,但是官方的空间有个弊端就是不能全屏,及时你设置了match_parent也...

weixin_34319374的博客 901

AD9026芯片开发实战指南:从硬件配置到射频校准

本文为AD9026芯片开发实战指南,详细解析了从硬件设计、电源时钟配置、SPI初始化到多芯片同步与JESD204高速链路建立的完整流程。重点探讨了射频校准技术,包括初始化校准与跟踪校准,以保障5G、MIMO等现代通信系统所需的射频性能。旨在帮助开发者系统掌握这颗高性能射频收发器的应用,规避常见设计陷阱。

tomato的博客 851

卡尔曼滤波调参避坑指南:Q/R参数怎么设?实测5种传感器场景

本文针对卡尔曼滤波在工程实践中Q/R参数设置的难题,提供了一套实用的调参避坑指南。通过分析过程噪声方差Q与测量噪声方差R的物理意义与博弈关系,并结合温度传感器、陀螺仪、超声波测距等五种典型传感器场景的实测效果对比,总结出从噪声估算、离线仿真到收敛测试的系统性调参方法论,帮助工程师快速实现稳定有效的滤波效果。

weixin_29174141的博客 803

简述Android中如何实现播放视频形式的引导页面

以前呢好多应用的引导界面大多都是ViewPager轮播等,现在好多应用为了实现炫酷的引导界面都使用了播放一个炫酷的视频来作为引导界面,而这种炫酷的方法还比较省事儿,下面我写一下怎么去实现,而且是非常非常简单的就可以达到效果。  好,首先在项目中自定义一个videoview ,实现三个构造方法,然后写onMeasure方法:在里面计算一下它的高度,这个高度指的是这个组件的高度,因为我们播放的视频要

HeBiaoBiaoBiao的博客 4369

全局–局部傅里叶神经算子(GL-FNO):原理、严格推导与 PINN 混合策略

本文提出了一种全局-局部傅里叶神经算子(GL-FNO)及其与物理信息神经网络(PINN)的结合方法。主要内容包括: 架构设计:GL-FNO包含两个分支 - 全局分支处理低频结构,使用下采样输入;局部分支处理高频细节,使用全分辨率输入。两分支通过自适应门控机制融合。 理论分析:证明了GL-FNO在"低频全局+高频局部"任务上的优势,给出了误差分解和复杂度分析,并推导了与PINN结合时的渐进一致性条件。 实现方法:采用频谱微分计算物理残差,推导了完整的训练流程,包括数据损失与物理损失的联合优

VectorShift的博客 1332

Android高级控件(四)——VideoView 实现引导页播放视频欢迎效果,超级简单却十分的炫酷

是不是感觉QQ空间什么的每次新版本更新那炫炫的引导页就特别的激动,哈哈,其实他实现起来真的很简单很简单,就一个官方自带的VideoView就可以实现了,但是官方的空间有个弊端就是不能全屏,及时你设置了match_parent也不行,有些手机上就有黑边,这里我们现在res目录下新建一个raw文件夹,然后把我们要播放的视频放进去,我们这里只是做了一个循环播放视频的效果,首先我们重写下VideoView

aiguoguo000的博客 873

​​​​手把手教你玩转RT-Thread操作系统专栏--​​​​第5章 设备驱动开发:RT-Thread的设备框架​​​​5.4 I2C/SPI驱动:如何驱动外部传感器(以MPU6050为例)​

通过本节学习,掌握了基于RT-Thread设备模型的I2C/SPI驱动开发流程,包括硬件初始化、寄存器读写、设备注册及应用程序调用。I2C(Inter-Integrated Circuit)和SPI(Serial Peripheral Interface)是嵌入式系统中最常用的两种串行总线协议,广泛用于连接传感器、存储器等外设。函数通过I2C协议读取外设寄存器的数据(如MPU6050的加速度寄存器)。SPI读取需先拉低片选(CS),发送寄存器地址,再读取数据,最后拉高CS。查找I2C设备,并调用。

xiaoheshang_123的博客 125

YOLOv11全网首发:注意力独家魔改 | 具有切片操作的SimAM注意力,魔改SimAM助力小目标检测

1)直接作为注意力使用,效果秒杀SimAM;2)高效和卷积结合,代替原始网络的卷积操作;

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1573

Android自定义VideoView—实现app引导页播放视频欢迎效果

CustomVideoView package com.lgl.mp4index; import android.content.Context; import android.media.MediaPlayer; import android.util.AttributeSet; import android.view.KeyEvent; import android.widget.VideoView; /** * 视频播放,主要是因为手机的大小很多,不能保证原生的VideoView能实现全屏

JiYaRuo的博客 795

MOSFET雪崩特性参数解析

但是,一些电源在输出短路时,初级中会产生较大的电流,加上初级电感,器件就会有雪崩损坏的可能,因此在这样的应用条件下,就要考虑器件的雪崩能量。对于那些在MOSFET的D和S极产生较大电压的尖峰应用,就要考虑器件的雪崩能量,电压的尖峰所集中的能量主要由电感和电流所决定,因此对于反激的应用,MOSFET关断时会产生较大的电压尖峰。雪崩击穿能量标定了器件可以容忍的瞬时过冲电压的安全值,其依赖于雪崩击穿需要消散的能量。EAS单脉冲雪崩击穿能量, EAS标定了器件可以安全吸收反向雪崩击穿能量的高低。

Airer_00的博客 807

android 引导页加动画,Android VideoView实现炫酷引导页

先看下效果图:103012hjj7zdfmlczj0blk.gif项目介绍:用VideoView实现英语流利说炫酷引导页刚开始的思路属性动画?(可以实现,但是估计只为这个业务做这么大量的动画会吐血)帧动画?(设计师会吐血)视频播放?(没错,就是它了)为了证实自己的思路,继续抱着崇拜的心态解压了apk,发现果然啊,有个18s的mp4文件,拿到这个后再想实现这个效果就太尼玛容易了。ps:我觉得单独这样...

weixin_39807541的博客 269

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

手把手教你实现慕课网引导页效果(一)——分析验证

手把手教你实现慕课网引导页效果(一) 前言 相信程序员大多用过或者听过慕课网这个网站,今天我们要讲的是慕课网Android客户端引导页效果的模仿实现。 首先,让我们看一下慕课网Android客户端的引导页是什么样的。 正文 1.分析 看上面那个GIF图,分析可知。首先是一个显示慕课网LOGO的Activity,然后跳转到了今天我们要讲的引导效果的Activity(命名为GuideAct...

didingyun4257的博客 176

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

android视频引导页面

最近打开滴滴出行,发现didi把自己的引导界面做成了视频效果,以前没感觉,现在倒是觉得这效果还真不错,今天就整理一下如何把视频当做引导界面

JerryWu145的专栏 2749

android 动画引导页,Android VideoView实现炫酷引导页

先看下效果图:103012hjj7zdfmlczj0blk.gif项目介绍:用VideoView实现英语流利说炫酷引导页刚开始的思路属性动画?(可以实现,但是估计只为这个业务做这么大量的动画会吐血)帧动画?(设计师会吐血)视频播放?(没错,就是它了)为了证实自己的思路,继续抱着崇拜的心态解压了apk,发现果然啊,有个18s的mp4文件,拿到这个后再想实现这个效果就太尼玛容易了。ps:我觉得单独这样...

weixin_39968995的博客 228

Android引导页加载videoview的坑

想要实现加载视频在引导页的效果,页面是自定义videoview播放视频,当跳转到其他页面回来的时候会videoview会黑屏,解决方法是把videoview的播放放在onresume里面吧,videoview的暂停放在onstop里面 ...

kururunga的博客 519

Android VideoView实现炫酷引导页

先看下效果图: 项目介绍: 用VideoView实现英语流利说炫酷引导页 刚开始的思路 属性动画?(可以实现,但是估计只为这个业务做这么大量的动画会吐血) 帧动画?(设计师会吐血) 视频播放?(没错,就是它了) 为了证实自己的思路,继续抱着崇拜的心态解压了apk,发现果然啊,有个18s的mp4文件,拿到这个后再想实现这个效果就太尼玛容易了。 ps:我觉得单独这样拿文件并开源是种不太好的行为,所以...

HelloGuoYing的博客 446
上一篇: Python与设计模式(一)——Abstract Factory
下一篇: Python与设计模式(二)——builder
hunter800421
博客等级 码龄22年 60粉丝 97原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值