public static void TestConstruction() { { string name = "bdfgbsgaudio"; Id <Parameter> id = Id <Parameter> .Parse("BC123324-1BA2-4BCD-83D3-419D854CFE3D"); AudioParameter p = new AudioParameter(name, id); Assert.That(p.Name, Is.EqualTo(name)); Assert.That(p.Id, Is.EqualTo(id)); Assert.That(p.TypeId, Is.EqualTo(AudioParameter.ParameterType)); Assert.That(p.Corrupted, Is.True); //AudioParameters are always constructed corrupted and the conversation files automatically decorrupt them by generating new values for them } { string name = "bdfgadio"; Id <Parameter> id = Id <Parameter> .Parse("3F8D6F37-36B8-48A7-BAC6-4F524728D1FE"); AudioParameter p = new AudioParameter(name, id); Assert.That(p.Name, Is.EqualTo(name)); Assert.That(p.Id, Is.EqualTo(id)); Assert.That(p.TypeId, Is.EqualTo(AudioParameter.ParameterType)); Assert.That(p.Corrupted, Is.True); //AudioParameters are always constructed corrupted and the conversation files automatically decorrupt them by generating new values for them } }
public static void Test() { string name = "bdfgbsgaudio"; Id <Parameter> id = Id <Parameter> .Parse("BC123324-1BA2-4BCD-83D3-419D854CFE3D"); AudioParameter p = new AudioParameter(name, id); var value1 = new Audio("asdkavds\\asdasd"); var action = p.SetValueAction(value1); Assert.That(action, Is.Not.Null); action.Value.Redo(); CheckValue(p, value1); action.Value.Undo(); Assert.That(p.Corrupted, Is.True); p.TryDeserialiseValue("shane"); CheckValue(p, new Audio("shane")); var value2 = new Audio("a\\b\\c"); var action2 = p.SetValueAction(value2); Assert.That(action2, Is.Not.Null); action2.Value.Redo(); CheckValue(p, value2); action2.Value.Undo(); CheckValue(p, new Audio("shane")); }
//播放聲音 public void PlaySoundEffect(AudioParameter parameter) { try { if (this.GetComponent <AudioSource>() != null) { AudioSource source = this.GetComponent <AudioSource>(); if (parameter.AudioClip != null) { //設定來源和相關參數 source.clip = parameter.AudioClip; source.loop = parameter.IsLoop; //然後播放 source.Play(); } else { source.Stop(); } } } catch { } }
private static void CheckValue(AudioParameter p, Audio value) { Assert.That(p.Corrupted, Is.False); Assert.That(p.Value, Is.EqualTo(value)); Assert.That(p.DisplayValue((a, b) => "a"), Is.EqualTo(value.DisplayValue())); Assert.That(p.SetValueAction(value), Is.Null); Assert.That(p.ValueAsString(), Is.EqualTo(value.Serialize())); }
public static AudioParameter Parse(uint audioSpecificConfig) { var objectType = (audioSpecificConfig & 0xf800) >> 11; // 5 bits: object type var frequencyIndex = (audioSpecificConfig & 0x0780) >> 7; // 4 bits: frequency index var channelConfiguration = (audioSpecificConfig & 0x0078) >> 3; // 4 bits: channel configuration var config = new AudioParameter() { Frequency = GetFrequency(frequencyIndex) }; // MPEG-4 Channel Configuration switch (channelConfiguration) { case 0: break; case 1: config.NumChannels = 1; config.ChannelMask = SpeakerPositions.FrontCenter; break; case 2: config.NumChannels = 2; config.ChannelMask = SpeakerPositions.Stereo; break; case 3: config.NumChannels = 3; config.ChannelMask = SpeakerPositions.Stereo | SpeakerPositions.FrontCenter; break; case 4: config.NumChannels = 4; config.ChannelMask = SpeakerPositions.Surround; break; case 5: config.NumChannels = 5; config.ChannelMask = SpeakerPositions.Quad | SpeakerPositions.FrontCenter; break; case 6: config.NumChannels = 6; config.ChannelMask = SpeakerPositions.FivePoint1; break; case 7: config.NumChannels = 8; config.ChannelMask = SpeakerPositions.SevenPoint1Surround; break; default: throw new ArgumentOutOfRangeException(nameof(channelConfiguration)); } return(config); }
// Plays an audio clip with the given parameters public void PlayAudioParameter(AudioParameter audio) { PlayAudio(audio.audioClip , audio.volume , audio.priority , _audioSourceLayer , audio.pitchLow , audio.pitchHigh); }
// Plays an audio clip with the given parameters public void PlayAudioParameter(AudioName audioName) { AudioParameter audio = AudioDictionary[audioName]; PlayAudio(audio.audioClip , audio.volume , audio.priority , _audioSourceLayer , audio.pitchLow , audio.pitchHigh); }
public GraphData(Id <NodeTemp> nodeId, Id <NodeTypeTemp> nodeTypeId, IEnumerable <NodeDataGeneratorParameterData> parameterData) { NodeId = nodeId; NodeTypeId = nodeTypeId; var allConnectorsDefinition = new ConnectorDefinitionData(null, null, null, null, false); var outputs = new List <Output>(); var parameters = new List <IParameter>(); DecimalParameter.Definition d = new DecimalParameter.Definition(null, null); ParameterType decimalType = ParameterType.Basic.Parse("721796b6-a242-4723-82e9-35201097e675"); ParameterType dynamicEnumType = ParameterType.Basic.Parse("6d2d52c8-5934-4ba8-8d4e-7081fe57f662"); DynamicEnumParameter.Source source = new DynamicEnumParameter.Source(); IEnumeration enumeration = new DummyEnumeration(); ParameterType integerEnumType = ParameterType.Basic.Parse("de108fdb-db50-4cd5-aad5-0ea791f04721"); IntegerParameter.Definition i = new IntegerParameter.Definition(null, null); AudioParameter = new AudioParameter("Audio", Id <Parameter> .Parse("3ac8d0ca-c9f6-4e06-b18c-c1366e1af7d3")); BooleanParameter = new BooleanParameter("Boolean", Id <Parameter> .Parse("0e12e8e3-4c95-43a5-a733-d2d1fbbb780c"), "false"); DecimalParameter = new DecimalParameter("Decimal", Id <Parameter> .Parse("765e616a-f165-4053-a15c-14ed593429af"), decimalType, d, "1.0"); DynamicEnumParameter = new DynamicEnumParameter("DynamicEnum", Id <Parameter> .Parse("7c5b019c-79d0-4ef0-b848-0a2c68908f34"), source, dynamicEnumType, "shnae", false); EnumParameter = new EnumParameter("Enum", Id <Parameter> .Parse("e576713b-5d45-48d0-8a4e-661f1fedcafd"), enumeration, enumeration.DefaultValue.ToString()); IntegerParameter = new IntegerParameter("Int", Id <Parameter> .Parse("275d75f3-fe4e-42b1-bfaf-e841ba591999"), integerEnumType, i, "1"); LocalizedStringParameter = new LocalizedStringParameter("Localized stirng", Id <Parameter> .Parse("f332e619-e9a3-421f-9851-d95a00b62da9"), ParameterType.Basic.Parse("4547dbf2-46cc-4c84-ac6e-81ab185575dc")); SetParameter = new SetParameter("Set", Id <Parameter> .Parse("2d6235ea-c8a1-447a-b9d8-692f6329be33"), enumeration, null); StringParameter = new StringParameter("string", Id <Parameter> .Parse("4752d30e-e1ab-47ba-bc15-b2e6ecfa5416")); StringParameter2 = new StringParameter("string2", Id <Parameter> .Parse("dcd4a349-b0a8-4fa3-8989-2d10469b1a17")); if (nodeTypeId == TYPE1) { outputs.Add(new Output(Id <TConnector> .Parse("0956c9d3-c230-49a2-874a-7e3747b58cff"), allConnectorsDefinition, this, null, DummyRules.Instance)); parameters.Add(AudioParameter); parameters.Add(BooleanParameter); parameters.Add(DecimalParameter); parameters.Add(DynamicEnumParameter); parameters.Add(EnumParameter); } else if (nodeTypeId == TYPE2) { outputs.Add(new Output(Id <TConnector> .Parse("da2b4ded-378e-4484-89f0-1328a42f00e3"), allConnectorsDefinition, this, null, DummyRules.Instance)); outputs.Add(new Output(Id <TConnector> .Parse("2bf2ca93-6b81-4a9a-814f-809a8bef332f"), allConnectorsDefinition, this, null, DummyRules.Instance)); parameters.Add(IntegerParameter); parameters.Add(LocalizedStringParameter); parameters.Add(SetParameter); parameters.Add(StringParameter); } else if (nodeTypeId == TYPE3) { outputs.Add(new Output(Id <TConnector> .Parse("c3f67c87-a3fd-428d-90a2-90cb87906eb2"), allConnectorsDefinition, this, null, DummyRules.Instance)); parameters.Add(StringParameter); parameters.Add(StringParameter2); } else { Assert.Fail("Unexpected Id"); } if (parameterData != null) { foreach (var data in parameterData) { parameters.Where(p => p.Id == data.Guid).Single().TryDeserialiseValue(data.Value); } } Connectors = outputs; Parameters = parameters; }