unity自动转换资源文件

为了优化内存,安卓播放背景音乐使用流进行加载,到了ios这边流就不行了,每次转到ios都需要手动设置音频资源太麻烦了,这里我们研究一下如何自动修改资源

这里我们实现AssetPostprocessor提供的方法OnPreprocessAudio,就是每次导入或修改声音资源的时候调用该方法,这里直接上代码:

#if UNITY_EDITOR
using UnityEditor;
using UnityEngine;

//通过继承AssetPostprocessor可实现资源导入后的转换方法
public class AudioImporterSW: AssetPostprocessor
{
void OnPreprocessAudio()
{
Debug.Log("发现音频资源"+assetImporter.assetPath);
//判断资源路径,如果是bgm则根据当前平台自动转换资源
if (assetImporter.assetPath == "Assets"+ "/_MaJiang/Audioclip/gameBGM.mp3")
{
AudioImporter audioImporter = assetImporter as AudioImporter;
audioImporter.preloadAudioData = false;
audioImporter.loadInBackground = false;

AudioImporterSampleSettings audioImporterSampleSettingsIOS = new AudioImporterSampleSettings();
audioImporterSampleSettingsIOS.compressionFormat = AudioCompressionFormat.MP3;
audioImporterSampleSettingsIOS.loadType = AudioClipLoadType.CompressedInMemory;
audioImporterSampleSettingsIOS.quality = .8f;
bool successfullOverride = audioImporter.SetOverrideSampleSettings("IOS", audioImporterSampleSettingsIOS);

Debug.Log("背景音乐转换成功:"+successfullOverride);
}
}
}
#endif

时间: 2024-10-12 11:27:11

unity自动转换资源文件的相关文章

Windows pyqt4 bat自动转换UI文件-->.pyw文件

/***************************************************************************** * Windows pyqt4 bat自动转换UI文件-->.pyw文件 * 声明: * 由于在Windows下面操作pyqt4,将UI文件转换成.pyw文件是需要到dos窗口去 * 执行pyuic4命令,每次感觉都很麻烦,于是想起可以使用bat文件进行批处理,这 * 样的话,直接双击运行bat文件就行了. * * 2015-12-30 深

Maven工程中自动拷贝资源文件的 pom文件配置方法

在pom文件中加入如下配置 <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>copy-resources</id> <phase>compile</phase> <goals> <goal>copy-resources</goal> <

delphi 资源文件详解

delphi资源文件详解 一.引子: 现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用.资源是程序的一部分,程序要正常运行就离不了资源文件.但是它是不可执行代码. 为了更好地管理资源,Delphi中提供了一种.RES类型的资源文件.它可以把我们程序中所需要的资源整合到一个资源文件(.RES)下来.在编译应用程序时直接编译进了可执行程序里,成为应用程序的整合体. 这样

.Net 多语言 与资源文件

目前很多网站都支持多语言,特别是中英文.而.Net网站中的多语言就要用到资源文件.资源文件分为全局资源文件(App_GlobalResource)以及本地资源文件(App_LocalResource). 创建资源文件 对于一个项目,我们一般都会创建全局资源文件以及本地资源文件.我们可以首先新建两个文件夹:App_GlobalResource,App_LocalResource. 1. 创建本地资源文件(App_LocalResource) 本地资源文件是针对于某个页面资源信息.所以,原则上我们应

二、添加资源文件

Qt资源系统是一个跨平台的资源机制,可以将各种类型的文件以二进制的方式存储与可执行文件内部.使用Qt Creator可以很方便的创建资源文件.在工程上点击右键选择"添加新文件",可在Qt分类中找到Qt资源文件(Qt Resource File),如下图所示,将其命名为res: 创建完成后会自动打开资源文件,在界面右侧编辑区,有个添加按钮 .如下图: 我们需要先添加前缀,点击添加选择添加前缀,默认前缀是"/new/prefix1",这个可以随便更改但是不要使用中文字符

phpstorm配置File Watcher在windows下自动编译sass文件

最近刚接触sass这个css预处理器,其在windows上需要先安装Ruby运行环境.装好Ruby和sass后,发现如果要将.sass文件转成css的话,还需要在控制台中输入命令,比较麻烦. 由于我自己用的IDE是phpstorm,所以去其官网翻了下,可以用里面的File Watchers来实现自动转换.sass->.css文件. 其实当你新建一个.sass文件的时候,phpstorm也会提示是否配置File Watchers. 配置步骤 以windows环境的phpstorm 7.1.3为例:

Pyqt 打包资源文件

用打包工具将做好的Pyqt程序打包成exe后发现引用的资源图片都显示不了? 是否遇到了和我一样的问题呢.google之后找到了方法,一种方法是在程序中引用外部资源,另外一种方法是将资源文件转换为py文件,然后引用py.下面我们详细来实现后者方法实现的过程 一. 生成资源文件 要把资源文件转换为py文件首先要有资源文件,我们打开Qt Designer,添加资源文件 保存好资源文件后缀是以 .qrc  结尾的,用notepad++查看.qrc文件发现该文件其实为XML 1 <RCC> 2 <

Spring boot 国际化自动加载资源文件问题

Spring boot 国际化自动加载资源文件问题 最近在做基于Spring boot配置的项目.中间遇到一个国际化资源加载的问题,正常来说只要在application.properties文件中定义正确的资源文件路径,Spring boot就启动时就会自动加载资源. spring.messages.basename=i18n/message 但是我的项目修改后获取消息时系统报错,找不到对应语言的资源配置.于是试图找到原因.Google好久都没找到,简直好像就我一个人遇到这鬼问题一样??.只好自

Java Web应用中自动实时检测资源文件内容变化

在Java Web应用中,我们经常需要配置文件来定制系统行为,这些配置文件可能包括:类路径下的文件和文件夹.非类路径下的绝对路径和相对路径的文件和文件夹,在分布式环境中,还需要通过HTTP从统一集中的Web服务器中获得配置信息,如何对这些配置信息进行自动加载并实时检测变化呢? Java分布式中文分词组件 - word分词已经实现了这个功能,我们看看是如何实现的: package org.apdplat.word.util; import java.io.BufferedReader; impor