public override object Read(ES2Reader reader)
    {
        AudioClip result    = null;
        string    name      = "";
        int       samples   = 0;
        int       channels  = 0;
        int       frequency = 0;


        int settingCount = (int)reader.Read_byte();

        for (int i = 0; i < settingCount; i++)
        {
            switch (i)
            {
            case 0:
                name = reader.Read_string();
                break;

            case 1:
                samples = reader.Read_int();
                break;

            case 2:
                channels = reader.Read_int();
                break;

            case 3:
                frequency = reader.Read_int();
                break;

            case 4:
#if !UNITY_5
                result = AudioClip.Create(name, samples, channels, frequency, false, false);
#else
                result = AudioClip.Create(name, samples, channels, frequency, false);
#endif
                result.SetData(reader.ReadArray <float>(new ES2_float()), 0);
                break;

            default:
                return(result);
            }
        }
        return(result);
    }
	public override object Read(ES2Reader reader)
	{
		AudioClip result = null;
		string name = "";
		int samples = 0;
		int channels = 0;
		int frequency = 0;
		
		
		int settingCount = (int)reader.Read_byte();
		for(int i=0;i<settingCount;i++)
		{
			switch(i)
			{
			case 0:
				name = reader.Read_string();
				break;
			case 1:
				samples = reader.Read_int();
				break;
			case 2:
				channels = reader.Read_int();
				break;
			case 3:
				frequency = reader.Read_int();
				break;
			case 4:
#if !UNITY_5
				result = AudioClip.Create(name, samples, channels, frequency, false, false);
#else
				result = AudioClip.Create(name, samples, channels, frequency, false);
#endif
				result.SetData(reader.ReadArray<float>(new ES2_float()),0);
				break;
			default:
				return result;
			}
		}
		return result;
	}