- Home /
Draw in a Texture a Waveform From Audioclip Before Play
Hi Guys! Im working on something like a Video Editor, and y want to show the Waveform when an Audio is put in the time line. Im using the new UI System, works Perfectly, but now i have an issue. I dont know how works GETDATA() function of the AudioClip Class I was thinking something like... I can Draw a Texture(For example 100*2500(audio lenght)) and with the array from GETDATA() I could draw a line (if the array item is 0.8) draw a line in the center with a Height of 80px. But I dont know how to use GETDATA. Returned me an Array so long, and i cant handle it. Here is an example code:
void WaveForm(AudioClip aClip, int width){
Texture2D tex;
tex = new Texture2D (width,170);
float[] clipData = new float[aClip.samples];
aClip.GetData (clipData, 0);
Color[] colors = new Color[]{Color.black, Color.white};
for (int i = 0; i < clipData.Length; i++) {
tex.SetPixels(i, 0, 1, clipData[i, colors]);
}
}
This isnt a TEST Code, is an example of the idea. If anyone have an idea, please tell me, or another method to draw in a Texture, or a Sprite a Waveform ofan Audioclip before play it.
Thanks!
Answer by NivekJump · Apr 21, 2015 at 06:17 PM
Guys, you can Find The Answer here: http://forum.unity3d.com/threads/create-waveform-before-the-audio-starts.298897/ It takes a few minutes to apply, and just work with Debug.Drawline
Your answer
Follow this Question
Related Questions
Sounds not working after building APK 0 Answers
Cutscene(Animation) problem 0 Answers
PlayOneShot returns false for isPlaying 5 Answers
Android sound distorted 2 Answers