Unity 获取本地文件夹下所有视频和图片
using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; using UnityEngine.UI; using UnityEngine.Video; public class Party_Building : MonoBehaviour { [Header ("保存视频文件地址的列表")] public List<string> listVideoPath = new List<string>(); //string path = "\\党建视频\\"; //exe打包文件的路径 string configPath = System.Environment.CurrentDirectory+ @"\DJmp4"; //视频文件夹 string ceshimp4 = "E:\\unity.Demo\\Intelligence_Community(zihuixiaoqu)\\智慧小区Demo\\DJmp4"; public VideoPlayer VideoPlayer; // Start is called before the first frame update void Start() { GetFilesAllMp4(ceshimp4); VideoPlayer.url = listVideoPath[0]; } //获取本地文件夹里所有视频文件 public void GetFilesAllMp4(string path_) { if (Directory.Exists (path_)) { DirectoryInfo direction = new DirectoryInfo(path_); FileInfo[] files = direction.GetFiles("*"); Debug.Log("视频数量" + files.Length); for (int i = 0; i < files.Length; i++) { //忽略关联文件 if (files[i].Name.EndsWith(".meta")) { continue; } //Debug.Log("文件名:" + files[i].Name); Debug.Log("文件绝对路径:" + files[i].FullName); listVideoPath.Add(files[i].FullName); //Debug.Log("文件所在目录:" + files[i].DirectoryName); } } else { return; } } private List<Texture2D> images = new List<Texture2D>(); private List<Sprite> imageSprite = new List<Sprite>(); //获取文件夹下所有图片 public void GetFilesAllSprite(string path_) { List<string> filePaths = new List<string>(); string imgtype = "*.BMP|*.JPG|*.GIF|*.PNG"; string[] ImageType = imgtype.Split('|'); for (int i = 0; i < ImageType.Length; i++) { //获取Application.dataPath文件夹下所有的图片路径 string[] dirs = Directory.GetFiles((Application.dataPath + path_), ImageType[i]); for (int j = 0; j < dirs.Length; j++) { filePaths.Add(dirs[j]); } } for (int i = 0; i < filePaths.Count; i++) { Texture2D tx = new Texture2D(100, 100); tx.LoadImage(GetImageByte(filePaths[i])); //转化成sprite添加到列表使用 imageSprite.Add(ChangeToSprite(tx)); //转化成Texture2D添加到列表使用 images.Add(tx); } } //返回图片的字节流 private static byte[] GetImageByte(string imagePath) { FileStream files = new FileStream(imagePath, FileMode.Open); byte[] imgByte = new byte[files.Length]; files.Read(imgByte, 0, imgByte.Length); files.Close(); return imgByte; } private Sprite ChangeToSprite(Texture2D tex) { Sprite sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), new Vector2(0.5f, 0.5f)); return sprite; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
2020-12-23 Unity 获取场景所有的面数,顶点数
2019-12-23 unity UGUI跟随3D物体的坐标转换