Unity实现Android端视频播放

本文只讲Android短的视频播放

实现方式

使用Handheld.PlayFullScreenMovie(),这个函数实现。具体如下:

1.创建StreamingAssets文件夹,此文件夹放入视频资源(.mp4),如图:

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

3.具体代码:

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 using UnityEngine.UI;
 5 using DG.Tweening;
 6 using System;
 7 /// <summary>
 8 /// Android端播放视频
 9 /// </summary>
10 public class PlayVideo : MonoBehaviour {
11     public Button FlexBtn;//菜单栏伸缩按钮(控制菜单栏的伸缩)
12     public Button[] BtnList;//所管理的各个视频的播放按钮
13     public Transform VBtnMgr;//按钮的父物体
14     void Start () {
15         VBtnMgr.transform.localScale = new Vector3(0,0,1);//初始化菜单栏状态(隐藏状态)
16         //给按钮动态添加点击事件
17         for (int i = 0; i < BtnList.Length; i++)
18         {
19             switch (i)
20             {
21                 case 0:
22                     BtnList[i].onClick.AddListener(()=> { OnClickBtn(0); });
23                     break;
24                 case 1:
25                     BtnList[i].onClick.AddListener(() => { OnClickBtn(1); });
26                     break;
27                 case 2:
28                     BtnList[i].onClick.AddListener(() => { OnClickBtn(2); });
29                     break;
30                 case 3:
31                     BtnList[i].onClick.AddListener(() => { OnClickBtn(3); });
32                     break;
33                 case 4:
34                     BtnList[i].onClick.AddListener(() => { OnClickBtn(4); });
35                     break;
36                 default:
37                     break;
38             }
39         }
40     }
41     //控制菜单栏按钮点击事件
42     bool isOpen = true;//伸缩开关
43     public void OnClickFlexBtn()
44     {
45         SetMenuState(isOpen);
46         isOpen = !isOpen;
47     }
48     //菜单栏伸缩控制
49     public void SetMenuState(bool isC)
50     {
51         int target = 0;
52         if (isC)
53         {
54             target = 1;
55         }
56         VBtnMgr.transform.DOScale(target, 0.5f);
57     }
58     //各个视频按钮的触发事件
59     public void OnClickBtn(int index)
60     {
61         switch (index)
62         {
63             case 0:
64                 Debug.Log("Cat");
65                 Handheld.PlayFullScreenMovie("CAT.mp4", Color.black, FullScreenMovieControlMode.Full);//播放名为CAT的视频
66                 break;
67             case 1:
68                 Debug.Log("WW");
69                 Handheld.PlayFullScreenMovie("WW.mp4", Color.black, FullScreenMovieControlMode.Full);
70                 break;
71             case 2:
72                 Debug.Log("WD");
73                 Handheld.PlayFullScreenMovie("WD.mp4", Color.black, FullScreenMovieControlMode.Full);
74                 break;
75             case 3:
76                 Debug.Log("WTWO");
77                 Handheld.PlayFullScreenMovie("WWW.mp4", Color.black, FullScreenMovieControlMode.Full);
78                 break;
79             case 4:
80                 Debug.Log("TEXT");
81                 Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Full);
82                 break;
83             default:
84                 break;
85         }
86     }
87     //退出按钮
88     public void OnclickExitBtn()
89     {
90         Application.Quit();
91     }
92 }

完成以上,打包发布即可实现。

注意:在这里我只向大家展示播放视频功能,至于文件夹StreamingAssets打包后产生的占用内存问题我并没有处理,此文件夹会将其中所有资源全部打包,所以在开发中不建议将文件放在此文件夹

最后欢迎并渴望指正交流

原文地址:https://www.cnblogs.com/answer-yj/p/10885637.html

时间: 2024-08-29 23:41:28

Unity实现Android端视频播放的相关文章

Unity调用Android的Activity

之前http://shuxiayeshou.blog.51cto.com/4452347/1932216 写了关于Unity与Android结合所遇到的问题及解决方法 总结一下,Unity做一个简单的场景,AndroidStudio建一个简单的项目,其中MainActivity是要继承自 UnityPlayerActivity的,这样Unity程序可以调用Android端MainActivity的方法了 那如果Android项目中还有一个NewActivity,我们要通过Unity把他打开咋办呢

Unity与Android的对调

本文结构 使用注意 新工程 Unity传Android参数 Android传Unity参数 SDK嵌入 SDK封装入类 ? 使用注意 安装APK,通常旧的不需要删除,安装后会被覆盖: 任何代码文件都可以使用UnityPlayer.UnitySendMessage() 向Unity发消息.只要import com.unity3d.player.UnityPlayer;然后写UnityPlayer.UnitySendMessage()即可: Android调用Android的相关方法,参数Unity

unity 与 android 协调工作 注意事项

原地址:http://blog.csdn.net/u012085988/article/details/17436191 1.unity调android函数 [csharp] view plaincopy AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject activity = jc.GetStatic<AndroidJavaObject&g

Unity 调用 Android Native 方法(一) 获得Android系统音量

学习雷锋,好榜样,接下来的这一系类教程里,将通过unity来实现Android端的一些常用功能, 不需要在 Asset/Plugins/Android 目录下引用jar包或者aar包,这是重点. 1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 5 public class Volume : MonoBehaviour { 6 7 8 private const strin

unity调用Android百度地图

由于个人是Android小白,在这个配置上面被折磨了很久,因此写下这篇文章 工具:eclipse + unity5.6.1 首先去百度地图开发者平台下载你需要的资源,我只需要显示地图和定位,这个时候你一定要注意了,一定要把你所需要的功能全部选择了再下载,要不然BaiduLBS_Android.jar包里面只有你选择的那个单个需求的类,下载下来之后将BaiduLBS_Android.jar类复制个副本,将后缀改成.rar格式,解压出来(后面会用到里面的assets文件夹) eclipse中配置:

Java服务器对外提供接口以及Android端向服务器请求数据

讲解下java服务器是如何对移动终端提供接口的,以什么数据格式提供出去,移动端又是怎么请求服务器,接收以及解析返回数据的. 服务端:还是在原先S2SH框架的项目上(搭建SSH详细步骤及其相关说明),加入Servlet来做对终端提供接口的事情. Android端:用了一个网络访问框架okHttp,向服务器请求数据. 服务端: servlet接收移动端的get.post请求,进行相应逻辑处理后将要返回的数据封装成json格式写出去. 对数据库的操作传统的Servlet是用jdbc,但是操作过于繁琐,

一起学Google Daydream VR开发,快速入门开发基础教程一:Android端开发环境配置一

原文因涉及翻墙信息,被强制删除,此文为补发! 准备工作 进入Google Daydream开发者官网,开启准备工作,官网地址:https://vr.google.com/daydream/developers/ -------------------------------------------------------------------------------------------------------------------- Google Daydream开发者网址: https

Unity在Android和iOS中如何调用Native API

本文主要是对unity中如何在Android和iOS中调用Native API进行介绍. 首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调用.利用这一特性,可以扩展unity的功能.例如集成和调用第三方库.同时为了满足对unity接口的一致性,可以考虑在android和iOS上提供相同的接口供C#调用. 这里列举以下两个例子. 1. 1. 以弹出一个覆盖部分屏幕的webview为例来说明如何从C#调用Native接口. 2. 2. 简

服务器安全运维:安全狗服云手机android端V2·2版正式上线

安全狗服云旗下基于云计算技术,于2014年初打造的云时代下最好的服务器安全运维云平台,其用"云安全,新运维"的思路为用户提供服务器安全所需的一切服务. 安全狗服云继7月9号服云web端V3.4(企业服务)版上线后,7月10号,服云android端V2·2版也正式上线.同web端V3.4一样,android端V2·2主要也是对企业服务功能模块进行全面的完善和升级,意在为企业用户带来更高效更便捷的安全服务.建议升级使用,地址:http://fuyun.safedog.cn/client.h