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

Posted huwenya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3d外部加载音频,视频,图片等资源 及根据路径获取制定格式的文件相关的知识,希望对你有一定的参考价值。

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路径下//
          [email protected]"/../Resources";
         
          //这里新建队列,调用访问文件的方法,获取其返回的文件名队列//
          //第一个参是访问路径,第二个参是文件格式//
          List<String> list_pic=GetDirFiles([email protected]"/Picture/test","*.png");
         
          foreach (string item in list_pic)
        {
               //item是文件名,获取文件名后返回完整路径//
               [email protected]"/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://"[email protected];
    
          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://"[email protected]_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://"[email protected]_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外部加载音频,视频,图片等资源 及根据路径获取制定格式的文件的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D资源异步加载——图片音视频资源加载

Unity3D性能优化之资源导入标准和属性设置篇

给tomcat配置外部资源路径(应用场景:web项目访问图片视频等资源)

微信小程序之数据交互

Android处理图片OOM的若干方法小结

unity3d study ---- 麦子学院---------- unity3d常用组件及分析 ---------- 代码控制音频视频