Code Examples


Include the Amplitude namespace at the top of your script before you can interact with Amplitude programmatically.

C#:

using CrazyMinnow.AmplitudeWebGL; // Import the Amplitude namespace so you can refer to the Amplitude class by name

Create a public Amplitude variable in your script:

C#:

public Amplitude amplitude;

Use GetComponent to get reference to an Amplitude instance just like you would any other component:

C#:

amplitude = GetComponent<Amplitude>();

Use the Amplitude.audioSource reference to control your AudioSource.

C#:

amplitude.audioSource.Play();

Use the Amplitude.audioSource.isPlaying to determine when you should be processing Amplitude.sample or Amplitude.average.

C#:


void Update()
{
	if (amplitude.audioSource.isPlaying)
	{
		// Access the amplitude average
		Debug.Log(amplitude.average);

		// Or access the sample array
		for (int i = 0; i < amplitude.sample.Length; i++)
		{
			Debug.Log(sample[i]);
		}
	}
}

AmplitudeTester.cs example script that links to Amplitude and a UI Slider and writes the Amplitude.average value to the UI Slider.

C#:


using UnityEngine;
using UnityEngine.UI; // Needed to display the amplitude data in a Unity UI Slider
using CrazyMinnow.AmplitudeWebGL; // Import the AmplitudeWebGL namespace

namespace CrazyMinnow.AmplitudeWebGL
{	
	public class AmplitudeTester : MonoBehaviour 
	{
		public Amplitude amplitude; // Reference to the Amplitude component
		public Slider uiSlider; // Reference to a Unity UI Slider component to display amplitude data

		// Read the amplitude sample or average values 
		// while the AudioSource AudioClip is playing
		void Update() 
		{
			// Only read Amplitude values when the AudioSource is playing
			if (amplitude.audioSource.isPlaying)
			{
				// Access the amplitude average
				uiSlider.value = amplitude.average;

				// Or access the sample array
				// for (int i = 0; i < amplitude.sample.Length; i++)
				// {
				// 	uiSlider.value = sample[i];
				// }
			}
		}

		// Example method calls the AudioSource.Play method
		public void Play()
		{
			amplitude.audioSource.Play();
		}

		// Example method calls the AudioSource.Stop method
		public void Stop()
		{
			amplitude.audioSource.Stop();
		}
	}
}