最近在做项目的时候用到了,调用外部摄像头的功能,所以就到网上找了一下,有好多代码,但都是大同小异。一看就能明白的,我今天就想整理一下,免得到时在用时,找不到了,就做个笔记吧。
在上代码之前,要先说明一下,调用外部摄像头功能,之后能拓展好多功能出来,拍照啊 截屏啊什么的。有需要的可以试一下。下面开始上代码。文章源自大腿Plus-https://www.zhaoshijun.com/archives/660
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; [RequireComponent(typeof(RawImage))] public class CameraDevice : MonoBehaviour {     private List<WebCamTexture> webCamTextures = new List<WebCamTexture>();     private RawImage image;     #region Unity Method     // Called once before Start     void Awake()     {         image = GetComponent<RawImage>();     }     // Use this for initialization     IEnumerator Start()     {         //获取授权           yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);         if (Application.HasUserAuthorization(UserAuthorization.WebCam))         {             WebCamDevice[] devices = WebCamTexture.devices;             for (int i = 0; i < devices.Length; i++)             {                 WebCamTexture webCamTexture = new WebCamTexture(devices[i].name, 400, 300, 12);                 webCamTexture.Play();                 webCamTextures.Add(webCamTexture);             }         }     }     // Update is called once per frame     void Update()     {     }     // OnDestroy is called when the App is killed     void OnDestroy()     {     }     #endregion     public void SetDevice(int index)     {         image.texture = webCamTextures[index];     } } | 
我测试过链接多个摄像头,但是当有三个的时候只识别两个,但是在QQ的设置里面明明能看到三个,不知道是我用手机当摄像头的原因,还是只能识别两个。这个还有待查证。最后说一句,就是要将这个脚本放到挂有RawImage的组件上。文章源自大腿Plus-https://www.zhaoshijun.com/archives/660 文章源自大腿Plus-https://www.zhaoshijun.com/archives/660
					我的微信
				
				微信扫一扫
				 
					shijun_z
					
					我的QQ
				
				QQ扫一扫
				 
					846207670
					 
							

 
					
评论