Unity实现Android端视频播放
Posted answer-yj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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打包后产生的占用内存问题我并没有处理,此文件夹会将其中所有资源全部打包,所以在开发中不建议将文件放在此文件夹
最后欢迎并渴望指正交流
以上是关于Unity实现Android端视频播放的主要内容,如果未能解决你的问题,请参考以下文章