// Use this for initialization void Start() { foreach (AudioClip ac in AudioSplitter.SplitClip(_sample)) { m_audioclipmap.Add(ac.name, ac); //BaseState1 bs = _stateGenerator.MultiHighState(ac.name, ac, 4.0f); //foreach (float f in musicprojectile.bassList) //{ // if (f > offset + ac.length) // break; // else if (f < offset) // continue; // if (f > offset && f < offset + ac.length) // bs.AddBeat(BaseState1.Type.BASS_TYPE, f - offset); //} //foreach (float f in musicprojectile.kickList) //{ // if (f > offset + ac.length) // break; // else if (f < offset) // continue; // if (f > offset && f < offset + ac.length) // bs.AddBeat(BaseState1.Type.KICK_TYPE, f - offset); //} //foreach (float f in musicprojectile.highList) //{ // if (f > offset + ac.length) // break; // else if (f < offset) // continue; // if (f > offset && f < offset + ac.length) // bs.AddBeat(BaseState1.Type.GENERAL_TYPE, f - offset); //} //bs.PushAttacksIntoList(); //m_playqueue.Enqueue(bs); //offset += ac.length; m_playqueue.Enqueue(_stateGenerator.GenerateState(StateGenerator.GenerateType.NUMSTATE, ac.name, ac, 4.0f)); //m_playqueue.Enqueue(_stateGenerator.CreateVerticalLaserAttack(ac.name,ac,4.0f)); } curr = m_playqueue.Dequeue(); curr.Run(); Debug.Log(m_audioclipmap[curr.GetClipName()]); frontpeer.SetAudioClip(m_audioclipmap[curr.GetClipName()]); frontpeer.StartPlaying(); }
public void TestSplitter() { var splitter = new AudioSplitter(); var mixer = new AudioMixer(); var spread = new[] { TestHelper.Silence(1), TestHelper.Silence(2), TestHelper.Silence(3) }.ToSpread(); var ch3 = mixer.Update(spread, null); Spread <AudioSampleBuffer> output = splitter.Update(ch3, new[] { 2, 1 }.ToSpread()); Assert.AreEqual(2, output[0].WaveFormat.Channels); Assert.AreEqual(1, output[1].WaveFormat.Channels); float[] buf = new float[256]; output[0].Read(buf, 0, 256); Assert.AreEqual(TestHelper.GenerateBuffer(new[] { 1.0f, 2.0f }, 256), buf); output[0].Read(buf, 0, 256); Assert.AreEqual(TestHelper.GenerateBuffer(new[] { 1.0f, 2.0f }, 256), buf); output[0].Read(buf, 0, 256); Assert.AreEqual(TestHelper.GenerateBuffer(new[] { 1.0f, 2.0f }, 256), buf); }