示例#1
0
    private static void AudioPreview(InAudioNode node, AudioSource source, InAudioData audioData)
    {
        if (source != null && !source.isPlaying)
        {
            source.clip = null;
            source.outputAudioMixerGroup = null;
        }

        if (GUILayout.Button("Preview", GUILayout.Width(60)))
        {
            //AudioSource source = InAudioInstanceFinder.Instance.GetComponent<AudioSource>();
            var root = TreeWalker.FindParentBeforeFolder(node);
            if (source != null)
            {
                source.SetLoudness(RuntimeHelper.CalcVolume(root, node));
                source.pitch = RuntimeHelper.CalcPitch(root, node);
                source.clip = audioData._clip;
                source.outputAudioMixerGroup = node.GetMixerGroup();
                source.Play();
            }
            else
                Debug.LogError(
                    "InAudio: Could not find preview audio source in the InAudio Manager.\nTry to restore the manager from the prefab");
        }

        if (GUILayout.Button("Raw", GUILayout.Width(45)))
        {
            //AudioSource source = InAudioInstanceFinder.Instance.GetComponent<AudioSource>();
            if (source != null)
            {
                source.clip = audioData._clip;
                source.volume = 1.0f;
                source.outputAudioMixerGroup = null;
                source.pitch = 1.0f;
                source.Play();
            }
            else
                Debug.LogError(
                    "InAudio: Could not find preview audio source in the InAudio Manager.\nTry to restore the manager from the prefab");
        }

        if (GUILayout.Button("Stop", GUILayout.Width(45)))
        {
            //AudioSource source = InAudioInstanceFinder.Instance.GetComponent<AudioSource>();
            if (source != null)
            {
                source.Stop();
                source.clip = null;
                source.outputAudioMixerGroup = null;
            }
            else
                Debug.LogError(
                    "InAudio: Could not find preview audio source in the InAudio Manager.\nTry to restore the manager from the prefab");
        }
    }