ik ben bezig met een spel voor op je mobiel, wat lijkt op een soort guitar hero. Er speelt nu een AMR bestand af als nummer en tegelijk een MIDI bestand waar ik vanalles uit wil halen, waaronder de Pitch Control. Nu moet het zo werken, dat er bij een bepaalde frequentie een nootje van boven komt. Dus bijvoorbeeld bij 42000Hz. Dit is wat ik nu heb:
en nu moet er dus een soort while loop in komen die constant checkt of de frequentie al 42000hz is. Daarvoor heb ik zoiets gemaakt:
hij geeft nu dus een aantal keer de pitch van het nummer. Maar ik krijg steeds een 0hz in mijn system.out.println. Heeft iemand misschien enig idee hoe ik dit wel kan aanpakken? ik loop namelijk vast..
code:
1
2
3
4
5
6
| InputStream isMID = getClass().getResourceAsStream("sosRescueMe.mid");
Player pMID = Manager.createPlayer(isMID, "audio/midi");
pMID.realize();
pMID.prefetch();
pitchControl = (PitchControl) pMID.getControl("PitchControl"); |
en nu moet er dus een soort while loop in komen die constant checkt of de frequentie al 42000hz is. Daarvoor heb ik zoiets gemaakt:
code:
1
2
3
4
5
6
7
8
| int x = 0;
while(go != false) {
x++;
System.out.println(pitchControl.getPitch());
if(x == 4000) {
go = false;
}
} |
hij geeft nu dus een aantal keer de pitch van het nummer. Maar ik krijg steeds een 0hz in mijn system.out.println. Heeft iemand misschien enig idee hoe ik dit wel kan aanpakken? ik loop namelijk vast..
AMD Phenom II X6 1090T | 2x 4GB Kingston | Geforce GTX 560TI | Creative I-Trigue L3450