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路径下//
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外部加载音频,视频,图片等资源 及根据路径获取制定格式的文件的更多相关文章
- Unity3D动态加载外部资源
最近一直在和这些内容纠缠,把心得和大家共享一下: Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质上我理解没有什么区别.Resources ...
- unity3d动态加载dll的API以及限制
Unity3D的坑系列:动态加载dll 一.使用限制 现在参与的项目是做MMO手游,目标平台是Android和iOS,iOS平台不能动态加载dll(什么原因找乔布斯去),可以直接忽略,而在Androi ...
- unity3d动态加载资源
在Unity3D的网络游戏中实现资源动态加载 分类: 最新学习2012-06-14 13:35 1127人阅读 评论(0) 收藏 举报 网络游戏nullvectorjson游戏string 用Unit ...
- 如何在启用SharePoint浏览器功能的InfoPath 表单中添加托管代码以动态地加载并显示图片
InfoPath 的浏览器表单不支持加载并显示图片,当然在模板中可以插入图片,但是如果想显示数据库的一幅图片,或是动态加载一张图片就无能为力了. 基实这个问题可以通过在浏览器表单中使用: " ...
- iOS网络编程(三) 异步加载及缓存图片---->SDWebImage
@SDWebImage提供一个UIImageView的类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL下载次数控制和优化等特征. @SDWebImage的导入1.https:// ...
- Unity3d 动态加载场景物件与缓存池的使用
聊聊Unity3d动态加载场景物件那些事儿. 众所周知,在策划或美术设计完游戏场景地图后,一个场景中可能会存在成千上万个小的物件,比如石头,木箱子,油桶,栅栏等等等等,这些物件并不是游戏中的道具,仅仅 ...
- Android开发技巧——TextView加载HTML的图片及代码显示问题
前几天在做一个Gradle用户指南的应用程序,使用的是TextView来加载HTML内容(至于为什么不用WebView,我也没有认真使用并比较过,也许以后会换吧),其中遇见了一些纠结的问题,所幸主要的 ...
- 关于SDWebImage加载高清图片导致app崩溃的问题
链接是对于SDWebImage的使用方法 http://www.cnblogs.com/JimmyBright/p/4457258.html 使用SDWebImage加载高清图片的时候,往往会报内存溢 ...
- Pygame 加载音频
Python Learning:Pygame 加载音频 Python 中自带的 winsound 模块 winsound 模块中 Beep 方法可以调用系统的蜂鸣器,接受一个为 frequency 的 ...
随机推荐
- react和vue,angular的比较
就这几天我所了解到react情况和大家探讨一下子react的知识: react由facebook团队维护的一套框架,已经应用在instagram网站上了,react以其独特的性能优化方案,正在被越来越 ...
- MySQL条件检索_WHERE
MySQL使用WHERE命令来限定数据查询条件. 语法:SELECT 属性1,属性2 FROM 表名 WHERE 条件1 OR 条件2 AND 条件3 说明:WHERE同样适用于UPDATE.DELE ...
- python爬虫——绕开杂乱无章的代码和堵住请求的302异常(2)
淘宝那次抓包,居然发现不了要抓的url位置,三星中... 不过不怕,不就是没法快点分析出包嘛,下次用phantomJS硬杠,或者有时间慢慢分析也好. 今天挑战一个稍微好爬的网站:狗搬家(误) 打开后台 ...
- centos7.3配置python2、3环境与配置各自pip
环境:CentOS-7-x86_64-Everything-1611 No.1 查看CentOS对Python的默认依赖 [root@cs ~]# ls /usr/bin/python* /usr/b ...
- systemd 服务介绍
CentOS7自定义系统服务 CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存在系统 ...
- ERROR 1130 (HY000): Host '172.16.1.54' is not allowed to connect to this MySQL server
centos7.5 远程连接数据库报错 问题: [root@db04-54 ~]# mysql -urep -p123 -h172.16.1.51 Warning: Using a password ...
- Delphi10.2 Tokyo试用(1)
最近下载了Delphi10.2 Tokyo,试用了一下,感觉不错,尤其是针对Linux的开发,总算出来了,可以考虑把原来服务器重新编译成RedHat上使用了,免得客户一天到晚喊Windows不安全,要 ...
- python链接Hive
之前一直用thrift链接Hive,但在运行时总出现问题,一直报缺少模块的错误,装了这个模块,又报缺少那个模块,连了半天,全是泪啊! 原来thrift链接Hive的.py文件后续没人维护,是连不上的. ...
- Docker for windows10 配置阿里云镜像
到官网下载 并且 安装 Docker for windows (注意 官方要求 windows10 是企业版才行 天朝你懂的 ) 关于 Docker for windows 要求有 带有 hy ...
- git在本地回退
参考https://www.cnblogs.com/qufanblog/p/7606105.html 已经用 git commit 提交了代码. 可以使用 git reset --hard HEAD ...