本文只讲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端视频播放的更多相关文章

  1. Unity调用Android的两个方式:其一、调用jar包

    unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...

  2. Unity调用Android的两种方式:其一、调用jar包

    unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...

  3. Unity 与 Android 互调用

    https://www.jianshu.com/p/b5e3cfcdf081 Unity 项目中一些需要访问安卓操作系统的功能,比如获取电量,wifi 状态等,需要 Unity 启动安卓系统的 Bro ...

  4. Unity和Android交互学习

    这段时间学习Unity和Android互调,从基础开始. 网上的教程有很多,浏览了一圈教程,发现目前有两种方式:一种是直接把 .aar文件导入Unity/Plugins/Android文件夹,另一种是 ...

  5. Unity响应Android的返回键,退出当前Activity

    一:使用 Application.Quit() public void Update() { if(Input.GetKeyDown(KeyCode.Escape)) Application.Quit ...

  6. unity 与 android 协调工作 注意事项

    原地址:http://blog.csdn.net/u012085988/article/details/17436191 1.unity调android函数 AndroidJavaClass jc = ...

  7. Android端IM应用中的@人功能实现:仿微博、QQ、微信,零入侵、高可扩展

    本文由“猫爸iYao”原创分享,感谢作者. 1.引言 最近有个需求:评论@人(没错,就是IM聊天或者微博APP里的@人功能),就像下图这样:   ▲ 微信群聊界面里的@人功能    ▲ QQ群聊界面里 ...

  8. Unity和Android混合开发

    通用的流程 https://blog.csdn.net/zhangdi2017/article/details/65629589 应用场景 Unity游戏中一些功能需要安卓系统的支持,如搜索wifi等 ...

  9. unity调用Android百度地图

    由于个人是Android小白,在这个配置上面被折磨了很久,因此写下这篇文章 工具:eclipse + unity5.6.1 首先去百度地图开发者平台下载你需要的资源,我只需要显示地图和定位,这个时候你 ...

随机推荐

  1. eclipse spring boot 项目出现java.lang.ClassCastException 解决方法

    问题 eclipse spring boot 项目出现java.lang.ClassCastException 解决方法: 重新生成项目

  2. 通过Module读取寄存器的值

    1: int eax; 2: _asm_("nop":"=a"(eax)); 3: printk("Get Eax Value:\n"); ...

  3. vue-router 路由配置

    前提: 项目由 vue-cli 脚手架创建. 首先,先下载 vue-router npm install vue-router 安装完成后,运行项目 npm run dev 打开 main.js , ...

  4. Netty 源码学习——服务端流程分析

    在上一篇我们已经介绍了客户端的流程分析,我们已经对启动已经大体上有了一定的认识,现在我们继续看对服务端的流程来看一看到底有什么区别. 服务端代码 public class NioServer { pr ...

  5. linux 创建用户并限制其访问目录

    1.创建用户及访问目录 useradd test1 -d /usr/share/webapps/test -M 设置密码 passwd  test1 将访问目录权限全部赋予用户 chown -R te ...

  6. swagger使用详解

    1:认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法 ...

  7. ArcGis面要素空间连接,取相交面积最大者 C#

    核心代码: #region JoinWork_IntersectMax private void CreateNewFields_IntersectMax(IFeatureClass destFeat ...

  8. Linux 进程间通信 信号(signal)

    1. 概念: 1)信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式 2)信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些系统事件. 3)如果 ...

  9. 笔记47 Hibernate快速入门(四)

    Hibernate注解,完成原来xml文件里的映射信息. 使用注解时,要修改hibernate.cfg.xml中的映射,不再是通过xml文件 <mapping class="hiber ...

  10. SolidWorks直线命令快捷转换为圆弧命令

    在进行草图绘制的时候,有时候需要切换到圆弧命令,此时来回切换比较麻烦, 我们可以将鼠标回碰线段起点,此时便成为了圆弧工具. 再次回碰,可改变圆心方向 利用鼠标操作,快捷切换绘图工具.