zoukankan      html  css  js  c++  java
  • 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

    游戏是由人创造出来的,你如果能够为开发人员提供高质量的工具,并帮助他们更好地完成自己的工作,包括帮助他们提高生产力、尝试新事物并进行实验,那么你就越有可能在这个行业中获得成功。
  • 相关阅读:
    Linux学习进阶路线图
    Ubuntu打开终端的方法三种
    Linux下显示IP地理位置信息的小工具-nali
    kail2 linux 安装vmware tools
    Ubuntu下apt-get命令详解
    Eclipse安卓开发环境
    纪念逝去的计算器之计算表达式结果
    今年暑假要AC
    结课博客作业
    第七次课程作业
  • 原文地址:https://www.cnblogs.com/rxs123/p/7090738.html
Copyright © 2011-2022 走看看