1.根据路径获取制定文件类型的文件:

这里写一个类,调用了打开路径的方法:
using UnityEngine;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

public class SetPath : MonoBehaviour
{
     public static string pic;
     string path;

void Awake ()
     {
          //设置路径,这里的路径是导出包的exe路径下//
          path=Application.dataPath+@"/../Resources";
         
          //这里新建队列,调用访问文件的方法,获取其返回的文件名队列//
          //第一个参是访问路径,第二个参是文件格式//
          List<String> list_pic=GetDirFiles(path+@"/Picture/test","*.png");
         
          foreach (string item in list_pic)
        {
               //item是文件名,获取文件名后返回完整路径//
               pic=path+@"/Picture/GiftCard/"+item.ToString()+".png";
        }
     }
    
     public List<string> GetDirFiles(string DirFullPath, string SearchPattern)
    {
        if (Directory.Exists(DirFullPath) == true)
        {
            List<string> list = new List<string>();
            //获取当前目录下指定文件类型的文件列表//
            string[] stringList = Directory.GetFiles(DirFullPath,SearchPattern);

foreach (string str in stringList)
            {
                string fileName;
                fileName = System.IO.Path.GetFileNameWithoutExtension(str);
                list.Add(fileName);

}
            return list;
        }
        else
        {
            return null;
        }
    }
}

2.外部加载音频
using UnityEngine;
using System.Collections;

public class Exposure_voice : MonoBehaviour {
    
     public string url_voice;
     public static AudioClip myclip;//设置静态声音资源,便于传递//
    
     void Start () {
          //外部加载声音的路径,拼接www下载文件路径//
         //注意,www加载的外部音视频都必须是ogg格式额//
          url_voice="file://"+@SetPath.pic;
    
          StartCoroutine("DownloadVoice");
     }

IEnumerator DownloadVoice()
     {
          WWW w=new WWW(url_voice);
          yield return w;
          //将声音资源赋值为外部加载的声音即可//
          myclip=w.audioClip;
     }
}

3.外部加载视频
using UnityEngine;
using System.Collections;

public class Exposure_video : MonoBehaviour {

public GameObject video;
     public string video_url;
    
     MovieTexture movie_tex;
     Material tex;
     AudioSource audio;
    
     float temp=0;
    
     void Start ()
     {
          video_url="file://"+@SetPath.video_name_through;
         
          StartCoroutine("VideoDownload");

Invoke("Initial_effect",9f);
     }
    
     IEnumerator VideoDownload()
     {
          WWW www=new WWW(video_url);
          yield return www;
          movie_tex=www.movie;
          video.renderer.material.mainTexture = movie_tex;
          audio.clip=www.GetAudioClip(false,true,AudioType.OGGVORBIS);
          audio.Play();
          movie_tex.Play();
     }
}

4.外部加载图片
using UnityEngine;
using System.Collections;

public class Exposure_Pic : MonoBehaviour {
    
     public GameObject pic;
    
     public string url_pic_Discount;
    
     #region Use this for initialization
     void Start ()
     {
          url_pic_Discount="file://"+@SetPath.pic_name_gift;
         
          StartCoroutine("Pic_Download");
     }
     #endregion
    
    
     IEnumerator Pic_Download()
     {
          WWW www=new WWW(url_pic_Discount);
          yield return www;
          pic.renderer.material.mainTexture=www.texture;
     }
}

这样就可以很容易的加载外部可更换的资源,并且不需要等待长时间的导入了。。。。
---------------------
作者:御雪妃舞
来源:CSDN
原文:https://blog.csdn.net/nanggong/article/details/38276521
版权声明:本文为博主原创文章,转载请附上博文链接!

Unity3d外部加载音频,视频,图片等资源 及根据路径获取制定格式的文件的更多相关文章

  1. Unity3D动态加载外部资源

    最近一直在和这些内容纠缠,把心得和大家共享一下: Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质上我理解没有什么区别.Resources ...

  2. unity3d动态加载dll的API以及限制

    Unity3D的坑系列:动态加载dll 一.使用限制 现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Androi ...

  3. unity3d动态加载资源

    在Unity3D的网络游戏中实现资源动态加载 分类: 最新学习2012-06-14 13:35 1127人阅读 评论(0) 收藏 举报 网络游戏nullvectorjson游戏string 用Unit ...

  4. 如何在启用SharePoint浏览器功能的InfoPath 表单中添加托管代码以动态地加载并显示图片

    InfoPath 的浏览器表单不支持加载并显示图片,当然在模板中可以插入图片,但是如果想显示数据库的一幅图片,或是动态加载一张图片就无能为力了. 基实这个问题可以通过在浏览器表单中使用: " ...

  5. iOS网络编程(三) 异步加载及缓存图片---->SDWebImage

    @SDWebImage提供一个UIImageView的类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL下载次数控制和优化等特征. @SDWebImage的导入1.https:// ...

  6. Unity3d 动态加载场景物件与缓存池的使用

    聊聊Unity3d动态加载场景物件那些事儿. 众所周知,在策划或美术设计完游戏场景地图后,一个场景中可能会存在成千上万个小的物件,比如石头,木箱子,油桶,栅栏等等等等,这些物件并不是游戏中的道具,仅仅 ...

  7. Android开发技巧——TextView加载HTML的图片及代码显示问题

    前几天在做一个Gradle用户指南的应用程序,使用的是TextView来加载HTML内容(至于为什么不用WebView,我也没有认真使用并比较过,也许以后会换吧),其中遇见了一些纠结的问题,所幸主要的 ...

  8. 关于SDWebImage加载高清图片导致app崩溃的问题

    链接是对于SDWebImage的使用方法 http://www.cnblogs.com/JimmyBright/p/4457258.html 使用SDWebImage加载高清图片的时候,往往会报内存溢 ...

  9. Pygame 加载音频

    Python Learning:Pygame 加载音频 Python 中自带的 winsound 模块 winsound 模块中 Beep 方法可以调用系统的蜂鸣器,接受一个为 frequency 的 ...

随机推荐

  1. 压缩图片 Image

    图片压缩 class resizeImg: """缩略图""" def __init__(self,**args): self.args_k ...

  2. SQL SEVER 的基本请求指令

    SQL分类:DDL--数据定义语言(create,alter,drop,declare) DML--数据操纵语言(select,delete,update,insert) DCL--数据控制语言(gr ...

  3. 解决mysql中文乱码问题?

    mysql是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1.1.中文乱码 cre ...

  4. C++ STL 顺序容器--list + 关联容器

    list 双向链表,可以双向遍历,既指向前驱节点,又指向后继但不能随机访问任意元素,可动态增加或者减少元素,内存管理自动完成,增加任何元素都不会使迭代器失效, 删除元素时,除了指向当前被删元素的迭代器 ...

  5. Python 面向对象介绍

    面向对象,面向过程 面向对象引子 人狗大战,人与狗都有不同的特点,如果要写出这两个不同角色 需要写出两个角色,可以使用嵌套函数,函数内在写入函数,然后通 过字典,将里层函数reture出来,在调用. ...

  6. 在VS2013 使用C语言库函数,出现出现错误,提示使用不安全函数use _CRT_SECURE_NO_WARNINGS

    在VS 2013 中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误: error C4996: 'scanf': This function or variable may ...

  7. Mac cnpm安装失败及解决方案

    首先安装node 官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/ 淘宝镜像安装cnpm, 在终端输入: npm install -g cnpm --registry=h ...

  8. 由 UWP 版网易云音乐闪退引发的博文

    今天,不知怎么的.网易云音乐出现了一打开就闪退的情况.百度了好些时候未果,就直接 Windows + i 打开 Windows 设置 > 应用 在应用和功能列表中找到网易云音乐,在展开的 高级选 ...

  9. 封装海康SDK出现无法加载 DLL“..\bin\HCNetSDK.dll”: 找不到指定的模块

    今天在封装海康设备的时候出现了这么一个问题,在初始化的时候提升无法加载 DLL“..\bin\HCNetSDK.dll”: 找不到指定的模块. 在网上查找了几个方法,并不是很靠谱,于是从源头找找,是什 ...

  10. Java使用Sockt进行通信(2)

    使用TCP协议编写Sockt TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义. ...