• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:MIDIファイルの演奏
#navi(../)
#tags(Sound, MidiSystem)
RIGHT:Posted by &author(aterai); at 2006-01-09
* MIDIファイルの演奏 [#q50a5f5c]
``MidiSystem``から``Sequencer``を作成取得し、``MIDI``ファイルを演奏します。
---
title: MIDIファイルの演奏
tags: [Sound, MidiSystem]
author: aterai
pubdate: 2006-01-09
description: MidiSystemからSequencerを作成取得し、MIDIファイルを演奏します。
---
* 概要 [#q50a5f5c]
`MidiSystem`から`Sequencer`を作成取得し、`MIDI`ファイルを演奏します。

- &jnlp;
- &jar;
- &zip;
#download(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTP2Xw5rXI/AAAAAAAAAeo/3v8-ggh9ZBE/s800/MidiSystem.png)

#ref(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTP2Xw5rXI/AAAAAAAAAeo/3v8-ggh9ZBE/s800/MidiSystem.png)

** サンプルコード [#s9901c5c]
* サンプルコード [#s9901c5c]
#code(link){{
URL url = getClass().getResource("Mozart_toruko_k.mid");
final Sequencer sequencer;
try{
  Sequence s = MidiSystem.getSequence(url);
  sequencer  = MidiSystem.getSequencer();
  sequencer.open();
  sequencer.setSequence(s);
}catch(Exception e) {
  e.printStackTrace();
}catch(Exception ex) {
  ex.printStackTrace();
  return;
}
start = new JButton(new AbstractAction("start") {
  public void actionPerformed(ActionEvent ae) {
  @Override public void actionPerformed(ActionEvent ae) {
    sequencer.start();
  }
});
}}

** 解説 [#f3cdbcb2]
``MidiSystem.getSequencer``メソッドで``Sequencer``を取得し、これに``MidiSystem.getSequence``メソッドで``MIDI``ファイルから生成した``Sequence``を設定します。
* 解説 [#f3cdbcb2]
`MidiSystem.getSequencer`メソッドで`Sequencer`を取得し、これに`MidiSystem.getSequence`メソッドで`MIDI`ファイルから生成した`Sequence`を設定します。

``Sequencer.start``メソッドで演奏を開始することができます。
`Sequencer.start`メソッドで演奏を開始することができます。

** 参考リンク [#h23d44e1]
* 参考リンク [#h23d44e1]
- [http://muimi.com/j/game/sound/ Javaでゲーム - サウンドメモ]
- [http://classic-midi.com/ クラシックMIDI ラインムジーク]
- [[Wavファイルの演奏>Swing/Sound]]
- [[Beep音を鳴らす>Swing/Beep]]
- [[AuditoryCuesでイベント音を設定する>Swing/AuditoryCues]]

** コメント [#u2657308]
* コメント [#u2657308]
#comment
#comment