Unity实现Android端视频播放
本文只讲Android短的视频播放
实现方式
使用Handheld.PlayFullScreenMovie(),这个函数实现。具体如下:
1.创建StreamingAssets文件夹,此文件夹放入视频资源(.mp4),如图:

2.创建测试UI(在这里我创建了些Button,分别点击播放鸽各自视频),如图:

3.具体代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
using System;
/// <summary>
/// Android端播放视频
/// </summary>
public class PlayVideo : MonoBehaviour {
public Button FlexBtn;//菜单栏伸缩按钮(控制菜单栏的伸缩)
public Button[] BtnList;//所管理的各个视频的播放按钮
public Transform VBtnMgr;//按钮的父物体
void Start () {
VBtnMgr.transform.localScale = new Vector3(,,);//初始化菜单栏状态(隐藏状态)
//给按钮动态添加点击事件
for (int i = ; i < BtnList.Length; i++)
{
switch (i)
{
case :
BtnList[i].onClick.AddListener(()=> { OnClickBtn(); });
break;
case :
BtnList[i].onClick.AddListener(() => { OnClickBtn(); });
break;
case :
BtnList[i].onClick.AddListener(() => { OnClickBtn(); });
break;
case :
BtnList[i].onClick.AddListener(() => { OnClickBtn(); });
break;
case :
BtnList[i].onClick.AddListener(() => { OnClickBtn(); });
break;
default:
break;
}
}
}
//控制菜单栏按钮点击事件
bool isOpen = true;//伸缩开关
public void OnClickFlexBtn()
{
SetMenuState(isOpen);
isOpen = !isOpen;
}
//菜单栏伸缩控制
public void SetMenuState(bool isC)
{
int target = ;
if (isC)
{
target = ;
}
VBtnMgr.transform.DOScale(target, 0.5f);
}
//各个视频按钮的触发事件
public void OnClickBtn(int index)
{
switch (index)
{
case :
Debug.Log("Cat");
Handheld.PlayFullScreenMovie("CAT.mp4", Color.black, FullScreenMovieControlMode.Full);//播放名为CAT的视频
break;
case :
Debug.Log("WW");
Handheld.PlayFullScreenMovie("WW.mp4", Color.black, FullScreenMovieControlMode.Full);
break;
case :
Debug.Log("WD");
Handheld.PlayFullScreenMovie("WD.mp4", Color.black, FullScreenMovieControlMode.Full);
break;
case :
Debug.Log("WTWO");
Handheld.PlayFullScreenMovie("WWW.mp4", Color.black, FullScreenMovieControlMode.Full);
break;
case :
Debug.Log("TEXT");
Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Full);
break;
default:
break;
}
}
//退出按钮
public void OnclickExitBtn()
{
Application.Quit();
}
}
完成以上,打包发布即可实现。
注意:在这里我只向大家展示播放视频功能,至于文件夹StreamingAssets打包后产生的占用内存问题我并没有处理,此文件夹会将其中所有资源全部打包,所以在开发中不建议将文件放在此文件夹
最后欢迎并渴望指正交流
Unity实现Android端视频播放的更多相关文章
- Unity调用Android的两个方式:其一、调用jar包
unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...
- Unity调用Android的两种方式:其一、调用jar包
unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...
- Unity 与 Android 互调用
https://www.jianshu.com/p/b5e3cfcdf081 Unity 项目中一些需要访问安卓操作系统的功能,比如获取电量,wifi 状态等,需要 Unity 启动安卓系统的 Bro ...
- Unity和Android交互学习
这段时间学习Unity和Android互调,从基础开始. 网上的教程有很多,浏览了一圈教程,发现目前有两种方式:一种是直接把 .aar文件导入Unity/Plugins/Android文件夹,另一种是 ...
- Unity响应Android的返回键,退出当前Activity
一:使用 Application.Quit() public void Update() { if(Input.GetKeyDown(KeyCode.Escape)) Application.Quit ...
- unity 与 android 协调工作 注意事项
原地址:http://blog.csdn.net/u012085988/article/details/17436191 1.unity调android函数 AndroidJavaClass jc = ...
- Android端IM应用中的@人功能实现:仿微博、QQ、微信,零入侵、高可扩展
本文由“猫爸iYao”原创分享,感谢作者. 1.引言 最近有个需求:评论@人(没错,就是IM聊天或者微博APP里的@人功能),就像下图这样: ▲ 微信群聊界面里的@人功能 ▲ QQ群聊界面里 ...
- Unity和Android混合开发
通用的流程 https://blog.csdn.net/zhangdi2017/article/details/65629589 应用场景 Unity游戏中一些功能需要安卓系统的支持,如搜索wifi等 ...
- unity调用Android百度地图
由于个人是Android小白,在这个配置上面被折磨了很久,因此写下这篇文章 工具:eclipse + unity5.6.1 首先去百度地图开发者平台下载你需要的资源,我只需要显示地图和定位,这个时候你 ...
随机推荐
- 二:unittest框架配合selenium之xpath定位
刚开始学习selenium自动化测试时,犯了一个不该犯的错误,偷懒,使用火狐浏览器中的扩展FIREBUG,FIREPATH来辅助定位. 虽然用的定位方法大多数是使用XPATH方法,但是是工具定位出来的 ...
- winform界面设计
http://www.cnblogs.com/wuhuacong/ 这位大师给了我指导方向 http://officeribbon.codeplex.com 提供了ribbon界面的控件 动态web ...
- CentOS 搭建dns服务器 解析任意域名
DNS服务器IP地址:192.168.1.219 服务器版本:centos6.6一:软件安装 [root@localhost ~]# yum -y install bind* 二:修改主配置文件 [r ...
- 网络数据包最大长度 MTU 分片 转发https://blog.csdn.net/singular2611/article/details/52513406
1.数据链路层对数据帧的长度都有一个限制,也就是链路层所能承受的最大数据长度,这个值称为最大传输单元,即MTU.以以太网为例,这个值通常是1500字节. 2.对于IP数据包来讲,也有一个长度,在IP包 ...
- 结合Poi实现可读取Excel的文件选择对话框
第一步:ApachePoi的jar包导全,不全会出现异常. 第二步:写就完事了:此例为读取特定模板的excel,仅供参考,根据实际需求改写. package 自建包; import java.awt. ...
- 二维RMQ hdu 2888
题目:点这里 题意:给出一个n*m的矩阵,然后又Q个询问:每个询问有x1,y1,x2,y2,x1,y1为子矩阵的左上角坐标,x2,y2为右上角的坐标.求此子矩阵中元素最大值,判断最大值是否在子矩阵四个 ...
- linux部署tomcat项目
unzip apache-tomcat-7.0.55-windows- x64.zip 解压zip文件 chmod +x startup.sh shutdown.sh catalina.sh ...
- systemctl命令的使用及服务状态的查看
二.systemctl命令 systemctl list-units ##列出当前系统服务的状态 systemctl list-unit-files ##列出服务的开 ...
- Linux 错误: $'\r': command not found
是linux无法解析$'\r'.这其实是windows与linux系统的差异导致的. 因为linux上的换行符为\n,而windows上的换行符为\r\n.所以脚本到linux上就无法解析了. 通常的 ...
- wordpress添加视频弹窗插件Video PopUp
Video PopUp 给外部div 添加class类名:class="main-play" a链接添加 class="vp-a" 测试链接地址:https: ...