Bonjour,
Je souhaite réaliser un spectrum Audio mais je ne sais pas comment exploiter mon tableau de bytes avec la fonction onfftdatacapture de Vizualiser.
J'ai suivi l'exemple de pheelicks mais j'arrive pas à l'exploiter correctement. En effet, je souhaite pouvoir faire des bars qui montent ou descende en gérant sa hauteur. Là la moindre modification de son code fait que ça ne fonctionne plus...
Sur google saisissez com/pheelicks/visualizer/renderer/BarGraphRenderer.java et vous tomberez directement sur son projet.
Si quelqu'un sait comment l'exploiter correctement je suis preneur.
Je souhaite pouvoir gérer le nombre de bars et la hauteur de celle-ci... Mais ne comprenants pas comment ça fonctionne c'est assez problématique.
Merci d'avance,
Son code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 @Override public void onRender(Canvas canvas, FFTData data, Rect rect) { for (int i = 0; i < data.bytes.length / mDivisions; i++) { mFFTPoints[i * 4] = i * 4 * mDivisions; mFFTPoints[i * 4 + 2] = i * 4 * mDivisions; byte rfk = data.bytes[mDivisions * i]; byte ifk = data.bytes[mDivisions * i + 1]; float magnitude = (rfk * rfk + ifk * ifk); int dbValue = (int) (10 * Math.log10(magnitude)); if(mTop) { mFFTPoints[i * 4 + 1] = 0; mFFTPoints[i * 4 + 3] = (dbValue * 2 - 10); } else { mFFTPoints[i * 4 + 1] = rect.height(); mFFTPoints[i * 4 + 3] = rect.height() - (dbValue * 2 - 10); } } canvas.drawLines(mFFTPoints, mPaint); }