Hallo,
Om te oefenen voor een aankomend tentamen heb ik een standaard programma (van de docent) gekregen waarin 2 Miditones zijn geprogrammeerd. Nu wil ik graag extra toontjes toevoegen maar op de een of andere manier lukt me dit niet. Ik heb al wat zitten rotzooien met de getallen maar ik krijg het niet voor elkaar. Het programma werkt wel en speelt keurig de 2 noten af die het zonder bewerken deed maar de derde speelt ie gewoon weg niet af. Heeft iemand een idee wat ik fout doe?
Om te oefenen voor een aankomend tentamen heb ik een standaard programma (van de docent) gekregen waarin 2 Miditones zijn geprogrammeerd. Nu wil ik graag extra toontjes toevoegen maar op de een of andere manier lukt me dit niet. Ik heb al wat zitten rotzooien met de getallen maar ik krijg het niet voor elkaar. Het programma werkt wel en speelt keurig de 2 noten af die het zonder bewerken deed maar de derde speelt ie gewoon weg niet af. Heeft iemand een idee wat ik fout doe?
Java:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
| import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.rms.*; import javax.microedition.media.*; import javax.microedition.media.control.*; import javax.microedition.io.*; import java.lang.*; import java.io.*; public class AppForm extends Form { Player p; public AppForm (String title) { super (title); this.append (new StringItem ("sound", "midi")); try { ByteArrayOutputStream baos = new ByteArrayOutputStream (); baos.write (0x4d); // M baos.write (0x54); // T baos.write (0x68); // h baos.write (0x64); // d baos.write (0x00); // Length of the MThd chunk is always 6 baos.write (0x00); baos.write (0x00); baos.write (0x06); baos.write (0x00); // The Format type is 0 baos.write (0x00); baos.write (0x00); // There is 1 chunk baos.write (0x01); baos.write (0x00); // Each increment of delta-time represents a millisecond baos.write (0xf0); baos.write (0x4d); // M baos.write (0x54); // T baos.write (0x72); // r baos.write (0x6b); // k baos.write (0x00); // Length of the MTrk chunk baos.write (0x00); baos.write (0x00); baos.write (0x24); baos.write (0x32); baos.write (0x00); // At baos.write (0xc0); // Instrument baos.write (0x18); baos.write (0x00); // At baos.write (0xe0); // Pitch bend baos.write (0x00); baos.write (0x00); baos.write (0x00); // At baos.write (0x90); // Note On baos.write (0x3c); baos.write (0x40); baos.write (0x83); // At baos.write (0x74); baos.write (0x90); // Note Off baos.write (0x3c); baos.write (0x00); baos.write (0x00); // At baos.write (0xc1); // Instrument baos.write (0x18); baos.write (0x00); // At baos.write (0xe1); // Pitch bend baos.write (0x00); baos.write (0x40); baos.write (0x00); // At baos.write (0x91); // Note On baos.write (0x3c); baos.write (0x40); baos.write (0x83); // At baos.write (0x74); baos.write (0x91); // Note Off baos.write (0x3c); baos.write (0x00); baos.write (0x00); // At baos.write (0xff); // Note Off baos.write (0x2f); baos.write (0x00); //Hier probeer ik dus een extra toon in te voegen. baos.write (0x00); // At baos.write (0xc0); // Instrument baos.write (0x12); baos.write (0x00); // At baos.write (0xe2); // Pitch bend baos.write (0x00); baos.write (0x00); baos.write (0x00); // At baos.write (0x92); // Note On baos.write (0x3c); baos.write (0x40); baos.write (0x83); // At baos.write (0x74); baos.write (0x92); // Note Off baos.write (0x3c); baos.write (0x00); ByteArrayInputStream bais = new ByteArrayInputStream (baos.toByteArray ()); p = Manager.createPlayer (bais, "audio/midi"); p.start (); } catch (Exception e) { System.out.println (e.toString ()); } System.out.println ("AppForm called ..."); } } |
[ Voor 0% gewijzigd door een moderator op 15-05-2007 19:39 . Reden: code=java fix ]