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 首先去百度地图开发者平台下载你需要的资源,我只需要显示地图和定位,这个时候你 ...
随机推荐
- makefile.new(7117) : error U1087: cannot have : and :: dependents for same target
makefile.new(7117) : fatal error U1087: cannot have : and :: dependents for same target(2012-05-21 2 ...
- CodeForces1249E-By Elevator or Stairs?-好理解自己想不出来的dp
Input The first line of the input contains two integers nn and cc (2≤n≤2⋅105,1≤c≤10002≤n≤2⋅105,1≤c≤1 ...
- ThreeJS模型展示为黑色,模型出不来
选取gltf格式时,出现模型为黑色,模型出不来 原因: 我们设计部可能是用maya或者3dmax去做:在模型导出时,没有gltf格式:如果maya或者3dmax导出obj然后导进blender,再导出 ...
- MySQL数据库(二)——库相关操作、表相关操作(一)、存储引擎、数据类型
库相关操作.表相关操作(一).存储引擎.数据类型 一.库相关操作 1.创建数据库 (1)语法 create database 数据库 charset utf8; (2)数据库命名规范 可以由字母.数字 ...
- MFS分布式文件系统【2】MFS MASTER 部署
MFS版本 mfs-1.6.27 MFS-MASTER 192.168.1.190 MFS-CHUNKSERVER1 192.168.1.252 MFS-CHUNKSERVER2 192.168.1. ...
- 6.1_springboot2.x分布式-整合SpringCloud
1.SpringCloud简介 Spring Cloud是一个分布式的整体解决方案.Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性t ...
- hdu 6435 /// 状压
题目大意: 给定 n m k 为 n种主武器 m种副武器 武器有k种属性 接下来n行 先给定当前主武器的综合分s1 再给定k种属性的值 接下来m行 先给定当前副武器的综合分s2 再给定k种属性的值 要 ...
- hdu6350 /// tarjan+并查集+组合+最大流思想
题目大意: 给定n个点 m条边没有重边的仙人掌图(没有一条边会同时存在与两个环 也就是环都是相互独立的) 求任意两点间 i^j^maxflow(i,j)的总和 maxflow为两点间最大流 题解:ht ...
- react-swiper 如何实现滑动小卡片的移动?
1.引入插件 import ReactSwipes from 'react-swipes'; import './swiperCard.css'; 2.代码构成 export default clas ...
- 1.MySQL基础架构
好久没发博客了,终于又学完了一点知识并且进行了整理.就从这个MySQL系列开始继续坚持每个月产出几篇. 声明一下,这次的MySQL系列是针对已有一定基础的小伙伴的,关于SQL的使用,一些概念的介绍就不 ...