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打包后產生的占用內存問題我並沒有處理,此文件夾會將其中所有資源全部打包,所以在開發中不建議將文件放在此文件夾

最后歡迎並渴望指正交流

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM