本文整理匯總了Java中javax.sound.midi.Sequencer.start方法的典型用法代碼示例。如果您正苦於以下問題:Java Sequencer.start方法的具體用法?Java Sequencer.start怎麽用?Java Sequencer.start使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.sound.midi.Sequencer
的用法示例。
在下文中一共展示了Sequencer.start方法的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: DesktopMidiPlayer
import javax.sound.midi.Sequencer; //導入方法依賴的package包/類
public DesktopMidiPlayer() throws MidiUnavailableException, IOException, InvalidMidiDataException {
// Obtains the default Sequencer connected to a default device.
Sequencer sequencer = MidiSystem.getSequencer();
// Opens the device, indicating that it should now acquire any
// system resources it requires and become operational.
sequencer.open();
// create a stream from a file
// FileHandle fh = Gdx.files.internal(Constants.MUSIC);
// InputStream is = new BufferedInputStream(new FileInputStream(fh.file()));
InputStream is = new BufferedInputStream(new FileInputStream(new File(Constants.MUSIC2)));
// Sets the current sequence on which the sequencer operates.
// The stream must point to MIDI file data.
sequencer.setSequence(is);
// Starts playback of the MIDI data in the currently loaded sequence.
sequencer.start();
/*try {
this.sequencer = MidiSystem.getSequencer();
} catch (MidiUnavailableException e) {
// Log.error("Error opening midi device.", e);
}*/
}
示例2: go
import javax.sound.midi.Sequencer; //導入方法依賴的package包/類
public void go() {
setUpGui();
try {
Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
sequencer.addControllerEventListener(ml, new int[] {127});
Sequence seq = new Sequence(Sequence.PPQ, 4);
Track track = seq.createTrack();
int r = 0;
for (int i = 0; i < 60; i+=4) {
r = (int) ((Math.random() * 50) + 1);
track.add(makeEvent(144, 1, r, 100, i));
track.add(makeEvent(176, 1, 127, 0, i));
track.add(makeEvent(128, 1, r, 100, i + 2));
} // end loop
sequencer.setSequence(seq);
sequencer.start();
sequencer.setTempoInBPM(120);
} catch (Exception ex) {ex.printStackTrace();}
}
示例3: go
import javax.sound.midi.Sequencer; //導入方法依賴的package包/類
public void go() {
try {
Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
int[] eventsIWant = {127};
sequencer.addControllerEventListener(this, eventsIWant);
Sequence seq = new Sequence(Sequence.PPQ, 4);
Track track = seq.createTrack();
for (int i = 5; i < 60; i+= 4) {
track.add(makeEvent(144, 1, i, 100, i));
track.add(makeEvent(176, 1, 127, 0, i));
track.add(makeEvent(128, 1, i, 100, i + 2));
} // end loop
sequencer.setSequence(seq);
sequencer.setTempoInBPM(220);
sequencer.start();
} catch (Exception ex) {ex.printStackTrace();}
}
示例4: main
import javax.sound.midi.Sequencer; //導入方法依賴的package包/類
public static void main(String[] args) {
try {
// make and open a sequencer
Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
// make a sequence and a track
Sequence seq = new Sequence(Sequence.PPQ, 4);
Track track = seq.createTrack();
// make a bunch of events to make the notes keep going up
// (from piano note 5 to piano note 61)
for (int i = 5; i < 61; i+=4) {
track.add(makeEvent(144, 1, i, 100, i));
track.add(makeEvent(128, 1, i, 100, i + 2));
} // end loop
sequencer.setSequence(seq);
sequencer.setTempoInBPM(220);
sequencer.start();
} catch (Exception ex) {ex.printStackTrace();}
}
示例5: main
import javax.sound.midi.Sequencer; //導入方法依賴的package包/類
public static void main(String[] args) throws Exception {
Synthesizer synth = MidiSystem.getSynthesizer();
synth.open();
synth.unloadAllInstruments(synth.getDefaultSoundbank());
synth.loadAllInstruments(new MyOscillator());
Sequence seq = MidiSystem.getSequence(FMTest1.class.getResource("/FMTest1.mid"));
Sequencer seqr = MidiSystem.getSequencer(false);
seqr.open();
seqr.getTransmitter().setReceiver(synth.getReceiver());
seqr.setSequence(seq);
seqr.start();
System.out.println();
System.out.println("Is active, press enter to stop");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.readLine();
System.out.println("Stop...");
seqr.stop();
seqr.close();
synth.close();
System.exit(0);
}
示例6: play
import javax.sound.midi.Sequencer; //導入方法依賴的package包/類
@Test
@Ignore
public void play() throws Exception
{
// Obtains the default Sequencer connected to a default device.
Sequencer sequencer = MidiSystem.getSequencer();
// Opens the device, indicating that it should now acquire any
// system resources it requires and become operational.
sequencer.open();
try
{
// create a stream from a file
java.io.InputStream is = new FileInputStream(new File("D:\\rs\\07\\cache\\track1\\name-687938017.midi"));
// Sets the current sequence on which the sequencer operates.
// The stream must point to MIDI file data.
sequencer.setSequence(is);
// Starts playback of the MIDI data in the currently loaded sequence.
sequencer.start();
while (sequencer.isRunning())
{
Thread.sleep(1000L);
}
}
finally
{
sequencer.close();
}
}
示例7: playAudio
import javax.sound.midi.Sequencer; //導入方法依賴的package包/類
/**
* Plays the audio of the current song.
*
* @throws MidiUnavailableException
* @throws InvalidMidiDataException
*/
public void playAudio() throws MidiUnavailableException, InvalidMidiDataException {
Sequencer player = MidiSystem.getSequencer();
player.open();
player.setSequence(song);
player.start();
}
示例8: play
import javax.sound.midi.Sequencer; //導入方法依賴的package包/類
public void play(int instrument, int note) {
try {
Sequencer player = MidiSystem.getSequencer();
player.open();
Sequence seq = new Sequence(Sequence.PPQ, 4);
Track track = seq.createTrack();
MidiEvent event = null;
ShortMessage first = new ShortMessage();
first.setMessage(192, 1, instrument, 0);
MidiEvent changeInstrument = new MidiEvent(first, 1);
track.add(changeInstrument);
ShortMessage a = new ShortMessage();
a.setMessage(144, 1, note, 100);
MidiEvent noteOn = new MidiEvent(a, 1);
track.add(noteOn);
ShortMessage b = new ShortMessage();
b.setMessage(128, 1, note, 100);
MidiEvent noteOff = new MidiEvent(b, 16);
track.add(noteOff);
player.setSequence(seq);
player.start();
} catch (Exception ex) {ex.printStackTrace();}
}
示例9: play
import javax.sound.midi.Sequencer; //導入方法依賴的package包/類
public void play() {
try {
// Get a sequencer and open it
Sequencer player = MidiSystem.getSequencer();
player.open();
// Set up sequence
Sequence seq = new Sequence(Sequence.PPQ, 4);
// Ask the sequence for a Track
Track track = seq.createTrack();
// Put some MidiEvents into the Track
ShortMessage a = new ShortMessage();
a.setMessage(144, 1, 44, 100);
MidiEvent noteOn = new MidiEvent(a, 1);
track.add(noteOn);
ShortMessage b = new ShortMessage();
b.setMessage(128, 1, 44, 100);
MidiEvent noteOff = new MidiEvent(b, 16);
track.add(noteOff);
// Give the sequence to the sequencer
player.setSequence(seq);
// Start() the sequencer
player.start();
} catch (Exception ex) {
ex.printStackTrace();
}
}
示例10: run
import javax.sound.midi.Sequencer; //導入方法依賴的package包/類
@Override
public void run() {
try {
Sequence song1 = MidiSystem.getSequence(File);
Sequencer sequencer = MidiSystem.getSequencer();
sequencer.open();
sequencer.setSequence(song1);
sequencer.start();
sequencer.setLoopCount(LOOP_FOREVER);
} catch (IOException |InvalidMidiDataException |MidiUnavailableException exep ) {
}
}
示例11: MidiPlayer
import javax.sound.midi.Sequencer; //導入方法依賴的package包/類
public MidiPlayer(File midiFile) {
// Play once
try {
Sequencer sequencer = MidiSystem.getSequencer();
sequencer.setSequence(MidiSystem.getSequence(midiFile));
sequencer.open();
sequencer.start();
/*
while(true) {
if(sequencer.isRunning()) {
try {
Thread.sleep(1000); // Check every second
} catch(InterruptedException ignore) {
break;
}
} else {
break;
}
}
// Close the MidiDevice & free resources
sequencer.stop();
sequencer.close();
*/
} catch (MidiUnavailableException mue) {
log.error("Midi device unavailable!", mue);
} catch (InvalidMidiDataException imde) {
log.error("Invalid Midi data!", imde);
} catch (IOException ioe) {
log.error("I/O Error!", ioe);
}
}