【发布时间】:2013-05-28 01:27:29
【问题描述】:
我告诉他们我正在使用 MIDlet,但我无法更改任何乐器的 midi 通道。
我尝试使用.shortMidiEvent(0xC0 + channel, program, 0); 和setProgram(channel, -1, program) 没有结果。
在我的手机上是诺基亚X3-02 仪器换了不行,只有midlet 的模拟器。
这是代码片段
public final class Dmgcpu implements Runnable {
private Player player;
private static MIDIControl synth;
private void initSound() {
try {
player = Manager.createPlayer(Manager.MIDI_DEVICE_LOCATOR);
player.prefetch();
synth = (MIDIControl) player.getControl("javax.microedition.media.control.MIDIControl");
} catch (Exception ex) {
}
synth.setProgram(0, -1, instSound_a);
//synth.shortMidiEvent(0xC0, instSound_a, 0);
//sound test
synth.shortMidiEvent(0x90 + channel, note[i], volume * MASTER_VOLUME);
thread_sleep(300);
synth.shortMidiEvent(0x80 + channel, note[i], 0);
}
是您可以更改仪器,据我了解,您在此类情况下使用player 数组。我尝试并没有奏效。
祝你好运
【问题讨论】:
标签: java-me midi midlet midi-instrument midi-interface