码迷,mamicode.com
首页 > 编程语言 > 详细

unity自动转换资源文件

时间:2017-06-28 18:37:39      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:bool   process   通过   import   ack   源文件   eset   repr   ==   

为了优化内存,安卓播放背景音乐使用流进行加载,到了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

unity自动转换资源文件

标签:bool   process   通过   import   ack   源文件   eset   repr   ==   

原文地址:http://www.cnblogs.com/rxs123/p/7090738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!