JavaTM Platform
Standard Ed. 6

javax.sound.midi
클래스 MidiSystem

java.lang.Object 
  상위를 확장 javax.sound.midi.MidiSystem


public class MidiSystem
extends Object

MidiSystem 클래스는, 신디사이저, 시퀀서, MIDI 입출력 포트등의 디바이스를 포함한 인스톨이 끝난 MIDI system resource에의 액세스를 제공합니다. 일반적으로 볼 수 있는 단순한 MIDI 어플리케이션은, 1 개(살) 이상의 MidiSystem 메소드를 호출해, 어느 디바이스가 인스톨 되고 있는지를 인지해, 그 어플리케이션에 필요한 디바이스를 취득하는 것으로부터 시작합니다.

또, 클래스에는 파일, 스트림, 및 표준 MIDI 파일 데이터 또는 사운드 뱅크를 포함한 URL 의 읽기용 메소드도 있습니다. 지정된 MIDI 파일의 형식을 MidiSystem 에 조회할 수 있습니다.

MidiSystem 를 인스턴스화할 수 없습니다. 메소드는 모두 정적입니다.

프로퍼티을 사용해, 디폴트의 MIDI 디바이스를 지정할 수 있습니다. 시스템 프로퍼티, 프로퍼티 파일의 양쪽 모두 사용 가능합니다. 프로퍼티 파일은, JRE 디렉토리내의 lib/sound.properties 입니다. 시스템 프로퍼티이 프로퍼티 파일내에도 존재하는 경우, 시스템 프로퍼티 쪽이 우선됩니다. 프로퍼티이 전혀 지정되어 있지 않은 경우는, 사용 가능한 디바이스중에서 적절한 디폴트 프로퍼티이 선택됩니다. 프로퍼티 파일의 구문은 Properties.load 로 지정되고 있습니다. 이하의 겉(표)는, 사용 가능한 프로퍼티 키와 이것들을 인식하는 메소드의 리스트입니다.

프로퍼티 키 인터페이스 영향을 받는 메소드
javax.sound.midi.Receiver Receiver getReceiver()
javax.sound.midi.Sequencer Sequencer getSequencer()
javax.sound.midi.Synthesizer Synthesizer getSynthesizer()
javax.sound.midi.Transmitter Transmitter getTransmitter()
프로퍼티치는, 프로바이더 클래스명과 디바이스명을 해시 기호 ( 「#」)로 단락지은 형식에서 나타내집니다. 프로바이더 클래스명은, 구상 MIDI 디바이스 프로바이더 클래스의 완전 수식명입니다. 디바이스명은,MidiDevice.InfogetName 메소드로부터 반환되는 String 와 매칭 됩니다. 클래스명, 디바이스명의 한편을 생략 할 수도 있습니다. 클래스명만을 지정했을 경우, 해시 기호는 생략 할 수 있습니다.

프로바이더 클래스가 지정되고 있어, 인스톨이 끝난 프로바이더로부터 정상적으로 취득할 수 있는 경우, 이 프로바이더로부터 MidiDevice.Info 객체의 리스트가 꺼내집니다. 그렇지 않은 경우, 또는 이러한 디바이스가 이 이후 매칭을 실시하지 않는 경우,getMidiDeviceInfo() 로부터 취득한 리스트에는, 사용 가능한 모든 MidiDevice.Info 객체가 포함됩니다.

디바이스명이 지정되고 있는 경우,MidiDevice.Info 객체의 결과 리스트가 검색됩니다. 이름이 일치한 최초의 객체 (그 MidiDevice 는 각각의 인터페이스를 가진다)가 돌려주어집니다. 일치하는 MidiDevice.Info 객체가 발견되지 않는 경우, 또는 디바이스명이 지정되어 있지 않은 경우, 결과 리스트의 최초의 적절한 디바이스가 돌려주어집니다. Sequencer 및 Synthesizer 의 경우, 각각의 인터페이스를 구현하는 디바이스가 적절한 디바이스입니다. 이것에 대해서, Receiver 및 Transmitter 의 경우, Sequencer 도 Synthesizer 도 구현하지 않고, Receiver 또는 Transmitter 를 1 개 이상 제공하는 디바이스가 적절한 디바이스입니다. 예를 들어, 값 com.sun.media.sound.MidiProvider#SunMIDI1 의 프로퍼티 javax.sound.midi.Receiver 에서는,getReceiver 가 불려 갔을 때, 다음과 같은 결과를 얻을 수 있습니다. 인스톨이 끝난 MIDI 디바이스 프로바이더의 리스트내에 클래스 com.sun.media.sound.MidiProvider 가 존재하는 경우,SunMIDI1 라는 이름의 최초의 Receiver 디바이스가 돌려주어집니다. 발견되지 않는 경우는, 이름과는 관계없이, 그 프로바이더의 최초의 Receiver 가 돌려주어집니다. 존재하지 않는 경우는, 모든 디바이스의 리스트 (getMidiDeviceInfo 에 의해 반환된다) 내의 SunMIDI1 라는 이름의 최초의 Receiver 가 돌려주어집니다. 이것이 발견되지 않는 경우, 모든 디바이스의 리스트내에서 최초로 발견된 Receiver 가 돌려주어집니다. 이 처리에도 실패했을 경우는,MidiUnavailableException 가 throw 됩니다.


메소드의 개요
static MidiDevice getMidiDevice (MidiDevice.Info  info)
          요구된 MIDI 디바이스를 가져옵니다.
static MidiDevice.Info [] getMidiDeviceInfo ()
          시스템으로 사용 가능한 전 MIDI 디바이스세트를 나타내는 정보 객체의 배열을 가져옵니다.
static MidiFileFormat getMidiFileFormat (File  file)
          지정된 File 의 MIDI 파일 형식을 가져옵니다.
static MidiFileFormat getMidiFileFormat (InputStream  stream)
          지정된 입력 스트림의 데이터의 MIDI 파일 형식을 가져옵니다.
static MidiFileFormat getMidiFileFormat (URL  url)
          지정된 URL 의 데이터의 MIDI 파일 형식을 가져옵니다.
static int[] getMidiFileTypes ()
          시스템이 파일 기입 지원를 제공하는 MIDI 파일형세트를 가져옵니다.
static int[] getMidiFileTypes (Sequence  sequence)
          지정된 순서로부터 시스템이 기입해 가능한 MIDI 파일형세트를 가져옵니다.
static Receiver getReceiver ()
          외부 MIDI 포트 또는 그 외의 디폴트 디바이스로부터, MIDI 리시버를 가져옵니다.
static Sequence getSequence (File  file)
          지정된 File 로부터 MIDI 순서를 가져옵니다.
static Sequence getSequence (InputStream  stream)
          지정된 입력 스트림로부터 MIDI 순서를 가져옵니다.
static Sequence getSequence (URL  url)
          지정된 URL 로부터 MIDI 순서를 가져옵니다.
static Sequencer getSequencer ()
          디폴트 디바이스에 접속된 디폴트의 Sequencer 를 가져옵니다.
static Sequencer getSequencer (boolean connected)
          옵션으로 디폴트 디바이스에 접속된, 디폴트의 Sequencer 를 가져옵니다.
static Soundbank getSoundbank (File  file)
          지정된 File 로부터 Soundbank 를 읽어내는 것에 의해,Soundbank 를 구축합니다.
static Soundbank getSoundbank (InputStream  stream)
          지정된 스트림로부터 MIDI 사운드 뱅크를 읽어내는 것에 의해, MIDI 사운드 뱅크를 구축합니다.
static Soundbank getSoundbank (URL  url)
          지정된 URL 로부터 Soundbank 를 읽어내는 것에 의해,Soundbank 를 구축합니다.
static Synthesizer getSynthesizer ()
          디폴트 신디사이저를 가져옵니다.
static Transmitter getTransmitter ()
          외부 MIDI 포트 또는 다른 디폴트 소스로부터, MIDI 트랜스미터를 가져옵니다.
static boolean isFileTypeSupported (int fileType)
          지정된 MIDI 파일형의 파일 기입 지원를 시스템이 제공하고 있을지 어떨지를 나타냅니다.
static boolean isFileTypeSupported (int fileType, Sequence  sequence)
          지정된 파일형의 MIDI 파일을, 나타난 순서로부터 기입할 수 있을지 어떨지를 나타냅니다.
static int write (Sequence  in, int type, File  out)
          제공되는 외부 파일에 나타나는 MIDI 파일형을 나타내는 바이트의 스트림을 기입합니다.
static int write (Sequence  in, int fileType, OutputStream  out)
          제공되는 외부 스트림에 나타나는 MIDI 파일형을 나타내는 바이트의 스트림을 기입합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

메소드의 상세

getMidiDeviceInfo

public static MidiDevice.Info [] getMidiDeviceInfo()
시스템으로 사용 가능한 전 MIDI 디바이스세트를 나타내는 정보 객체의 배열을 가져옵니다. 반환된 정보 객체를 사용해,getMidiDevice 를 호출해 해당의 디바이스를 취득할 수 있습니다.

반환값:
MidiDevice.Info 객체의 배열로, 인스톨 되었다 MIDI 디바이스 마다 1 개의 배열이 반환된다. 해당하는 디바이스가 인스톨되어 있지 않은 경우, 길이 0 의 배열이 반환된다

getMidiDevice

public static MidiDevice  getMidiDevice(MidiDevice.Info  info)
                                throws MidiUnavailableException 
요구된 MIDI 디바이스를 가져옵니다.

파라미터:
info - 목적의 디바이스를 나타내는 디바이스 정보 객체
반환값:
요구된 디바이스
예외:
MidiUnavailableException - 자원의 제약을 위해서(때문에), 요구된 디바이스를 사용할 수 없는 경우
IllegalArgumentException - 시스템에 인스톨 된 MIDI 디바이스를 정보 객체가 표시하지 않는 경우
관련 항목:
getMidiDeviceInfo()

getReceiver

public static Receiver  getReceiver()
                            throws MidiUnavailableException 
외부 MIDI 포트 또는 그 외의 디폴트 디바이스로부터, MIDI 리시버를 가져옵니다.

시스템 프로퍼티 javax.sound.midi.Receiver 가 정의되고 있는 경우, 또는 sound.properties 파일내에 정의되고 있는 경우, 이 프로퍼티은, 디폴트의 리시버를 제공하는 디바이스를 식별하기 위해서 사용됩니다. 자세한 것은,클래스의 설명 을 참조해 주세요. 적절한 MIDI 포트를 사용할 수 없는 경우, 인스톨이 끝난 신디사이저로부터 Receiver 를 가져옵니다.

이 메소드가 정상적으로 실행되면(자), 암묵중에,Receiver MidiDevice 가 열립니다 ( 아직 열려 있지 않은 경우). 암묵적으로 열린 디바이스를 닫으려면 , 반환된 Receiver 상에서 close 를 호출합니다. MidiDevice 에 포함되고 있는 system resource를 해제하려면 , 열려 있는 모든 Receiver 인스턴스를 닫을 필요가 있습니다. 여는/닫는 것 동작의 상세한 것에 대하여는,MidiDevice 클래스의 설명을 참조해 주세요.

반환값:
디폴트 MIDI 리시버
예외:
MidiUnavailableException - 자원 제약에 의해, 또는 리시버를 제공하는 디바이스가 시스템에 인스톨되어 있지 않기 위해(때문에) 디폴트의 리시버를 사용할 수 없는 경우

getTransmitter

public static Transmitter  getTransmitter()
                                  throws MidiUnavailableException 
외부 MIDI 포트 또는 다른 디폴트 소스로부터, MIDI 트랜스미터를 가져옵니다.

시스템 프로퍼티 javax.sound.midi.Transmitter 가 정의되고 있는 경우, 또는 sound.properties 파일내에 정의되고 있는 경우, 이 프로퍼티은, 디폴트의 트랜스미터를 제공하는 디바이스를 식별하기 위해서 사용됩니다. 자세한 것은,클래스의 설명 을 참조해 주세요. 이 메소드가 정상적으로 실행되면(자), 암묵중에,Transmitter MidiDevice 가 열립니다 ( 아직 열려 있지 않은 경우). 암묵적으로 열린 디바이스를 닫으려면 , 반환된 Transmitter 상에서 close 를 호출합니다. MidiDevice 에 포함되고 있는 system resource를 해제하려면 , 열려 있는 모든 Transmitter 인스턴스를 닫을 필요가 있습니다. 여는/닫는 것 동작의 상세한 것에 대하여는,MidiDevice 클래스의 설명을 참조해 주세요.

반환값:
디폴트 MIDI 트랜스미터
예외:
MidiUnavailableException - 자원 제약에 의해, 또는 트랜스미터를 (을)를 제공하는 디바이스가 시스템에 인스톨되어 있지 않기 위해(때문에) 디폴트의 트랜스미터를 사용할 수 없는 경우

getSynthesizer

public static Synthesizer  getSynthesizer()
                                  throws MidiUnavailableException 
디폴트 신디사이저를 가져옵니다.

시스템 프로퍼티 javax.sound.midi.Synthesizer 가 정의되고 있는 경우, 또는 sound.properties 파일내에 정의되고 있는 경우, 이 프로퍼티은, 디폴트의 신디사이저를 식별하기 위해서 사용됩니다. 자세한 것은,클래스의 설명 을 참조해 주세요.

반환값:
디폴트 신디사이저
예외:
MidiUnavailableException - 자원 제약에 의해, 또는 시스템에 신디사이저가 인스톨되어 있지 않기 위해(때문에) 디폴트의 신디사이저를 사용할 수 없는 경우

getSequencer

public static Sequencer  getSequencer()
                              throws MidiUnavailableException 
디폴트 디바이스에 접속된 디폴트의 Sequencer 를 가져옵니다. 반환되는 Sequencer 인스턴스는,getSynthesizer() 에 의해 반환되는 디폴트의 Synthesizer 에 접속됩니다. 사용 가능한 Synthesizer 가 없는 경우, 또는 디폴트의 Synthesizer 를 열 수가 없는 경우,sequencer 는,getReceiver() 에 의해 반환되는 디폴트의 Receiver 에 접속됩니다. 접속을 확립하려면 ,Sequencer 로부터 Transmitter 인스턴스를 취득해, 그 Receiver 를 설정합니다. 시퀀서를 닫아 재차 열면(자), 디폴트 디바이스와의 접속이 복원됩니다.

이 메소드는 getSequencer(true) 와 등가입니다.

시스템 프로퍼티 javax.sound.midi.Sequencer 가 정의되고 있는 경우, 또는 sound.properties 파일내에 정의되고 있는 경우, 이 프로퍼티은, 디폴트의 시퀀서를 식별하기 위해서 사용됩니다. 자세한 것은,클래스의 설명 을 참조해 주세요.

반환값:
디폴트의 Receiver 에 접속된 디폴트의 시퀀서
예외:
MidiUnavailableException - 자원 제약에 의해, 또는 인스톨이 끝난 MidiDevice 로 사용할 수 있다 Receiver 가 없기 때문에, 또는 시스템에 시퀀서가 인스톨되어 있지 않기 때문에, 시퀀서를 사용할 수 없는 경우
관련 항목:
getSequencer(boolean) , getSynthesizer() , getReceiver()

getSequencer

public static Sequencer  getSequencer(boolean connected)
                              throws MidiUnavailableException 
옵션으로 디폴트 디바이스에 접속된, 디폴트의 Sequencer 을 가져옵니다.

connected 가 true 의 경우, 반환되는 Sequencer 인스턴스는,getSynthesizer() 에 의해 반환되는 디폴트의 Synthesizer 에 접속됩니다. 사용 가능한 Synthesizer 가 없는 경우, 또는 디폴트의 Synthesizer 를 열 수가 없는 경우,sequencer 는,getReceiver() 에 의해 반환되는 디폴트의 Receiver 에 접속됩니다. 접속을 확립하려면 ,Sequencer 로부터 Transmitter 인스턴스를 취득해, 그 Receiver 를 설정합니다. 시퀀서를 닫아 재차 열면(자), 디폴트 디바이스와의 접속이 복원됩니다.

connected 가 false 의 경우, 반환되는 Sequencer 인스턴스는 접속되지 않고, 연 Transmitter 가 존재하지 않는 상태가 됩니다. MIDI 디바이스 또는 Synthesizer 상에서 시퀀서를 사용하려면 ,Transmitter 를 취득해, 그 Receiver 를 설정할 필요가 있습니다.

시스템 프로퍼티 javax.sound.midi.Sequencer 가 정의되고 있는 경우, 또는 sound.properties 파일내에 정의되고 있는 경우, 이 프로퍼티은, 디폴트의 시퀀서를 식별하기 위해서 사용됩니다. 자세한 것은,클래스의 설명 을 참조해 주세요.

반환값:
디폴트 시퀀서
예외:
MidiUnavailableException - 자원 제약에 의해, 또는 시스템에 시퀀서가 인스톨되어 있지 않기 때문에, 시퀀서를 사용할 수 없는 경우. 또는,connected connected 가 true 로, 인스톨이 끝난 상태 MidiDevice 로 사용 가능한 Receiver 하지만 존재하지 않는 경우
도입된 버젼:
1.5
관련 항목:
getSynthesizer() , getReceiver()

getSoundbank

public static Soundbank  getSoundbank(InputStream  stream)
                              throws InvalidMidiDataException ,
                                     IOException 
지정된 스트림로부터 MIDI 사운드 뱅크를 읽어내는 것에 의해, MIDI 사운드 뱅크를 구축합니다. 스트림은 유효한 MIDI 사운드 뱅크 파일을 나타낼 필요가 있습니다. 일반적으로, MIDI 사운드 뱅크 프로바이더는, 그 스트림을 지원할지 어떨지를 판정하기 전에 데이터를 얼마인가 읽어낼 필요가 있습니다. 이러한 퍼서는, 스트림을 마크 해, 스트림을 지원할지 어떨지를 판정하는데 충분한 데이터를 읽어들여, 지원하지 않는 경우는 스트림의 read 포인터도와의 위치에 되돌린다, 라고 하는 기능이 필요합니다. 입력 스트림이 이것을 지원하지 않는 경우, 이 메소드는 IOException 를 표시해 실패하는 일이 있습니다.

파라미터:
stream - 사운드 뱅크 데이터의 소스
반환값:
사운드 뱅크
예외:
InvalidMidiDataException - 시스템이 인식한 유효한 MIDI 사운드 뱅크 데이터를 스트림이 가리키지 않는 경우
IOException - 사운드 뱅크를 로드할 때에 입출력 에러가 발생했을 경우
관련 항목:
InputStream.markSupported() , InputStream.mark(int)

getSoundbank

public static Soundbank  getSoundbank(URL  url)
                              throws InvalidMidiDataException ,
                                     IOException 
지정된 URL 로부터 Soundbank 를 읽어내는 것에 의해,Soundbank 를 구축합니다. URL 는 유효한 MIDI 사운드 뱅크 파일을 나타낼 필요가 있습니다.

파라미터:
url - 사운드 뱅크 데이터의 소스
반환값:
사운드 뱅크
예외:
InvalidMidiDataException - 시스템이 인식한 유효한 MIDI 사운드 뱅크 데이터를 URL 가 가리키지 않는 경우
IOException - 사운드 뱅크를 로드할 때에 입출력 에러가 발생했을 경우

getSoundbank

public static Soundbank  getSoundbank(File  file)
                              throws InvalidMidiDataException ,
                                     IOException 
지정된 File 로부터 Soundbank 를 읽어내는 것에 의해,Soundbank 를 구축합니다. File 는 유효한 MIDI 사운드 뱅크 파일을 나타낼 필요가 있습니다.

파라미터:
file - 사운드 뱅크 데이터의 소스
반환값:
사운드 뱅크
예외:
InvalidMidiDataException - 시스템이 인식한 유효한 MIDI 사운드 뱅크 데이터를 File 가 가리키지 않는 경우
IOException - 사운드 뱅크를 로드할 때에 입출력 에러가 발생했을 경우

getMidiFileFormat

public static MidiFileFormat  getMidiFileFormat(InputStream  stream)
                                        throws InvalidMidiDataException ,
                                               IOException 
지정된 입력 스트림의 데이터의 MIDI 파일 형식을 가져옵니다. 스트림은, 시스템이 인식한 파일형에 유효한 MIDI 파일 데이터를 나타낼 필요가 있습니다.

이 메소드 또는 이 메소드가 호출하는 코드, 혹은 그 양쪽 모두, 그 데이터 형식이 지원될지 어떨지를 판정하기 위해서 스트림로부터 데이터를 얼마인가 읽어낼 필요가 있습니다. 따라서, 스트림을 마크 해, 데이터가 지원되는 형식일지 어떨지를 판정하는데 충분한 데이터를 읽어내, 스트림의 리드 포인터를 원래의 위치에 되돌리기 위한 구현이 필요합니다. 입력 스트림이 이 일련의 조작을 허가하지 않는 경우, 이 메소드는 IOException 를 throw 해 실패합니다.

이 조작은, 인스톨 된 파일 리더에 의해 구문 분석 할 수 있는 종류의 파일에 한정해 유효합니다. 호환성이 있는 파일 리더가 인스톨되어 있지 않은 경우, 유효한 파일에서도 InvalidMidiDataException 를 throw 해 실패할 가능성이 있습니다. 호환성이 있는 파일 리더가 인스톨 되고 있어도, 파일 형식을 판별중에 에러가 발생하면(자), 역시 실패합니다.

파라미터:
stream - 파일 형식 정보를 추출하는 입력 스트림
반환값:
MIDI 파일 형식을 기술하는 MidiFileFormat 객체
예외:
InvalidMidiDataException - 시스템이 인식한 유효한 오디오 파일 데이터를 스트림이 가리키지 않는 경우
IOException - 스트림에 액세스중에 입출력 예외가 발생했을 경우
관련 항목:
getMidiFileFormat(URL) , getMidiFileFormat(File) , InputStream.markSupported() , InputStream.mark(int)

getMidiFileFormat

public static MidiFileFormat  getMidiFileFormat(URL  url)
                                        throws InvalidMidiDataException ,
                                               IOException 
지정된 URL 의 데이터의 MIDI 파일 형식을 가져옵니다. URL 는, 시스템이 인식한 파일형에 유효한 MIDI 파일 데이터를 나타낼 필요가 있습니다.

이 조작은, 인스톨 된 파일 리더에 의해 구문 분석 할 수 있는 종류의 파일에 한정해 유효합니다. 호환성이 있는 파일 리더가 인스톨되어 있지 않은 경우, 유효한 파일에서도 InvalidMidiDataException 를 throw 해 실패할 가능성이 있습니다. 호환성이 있는 파일 리더가 인스톨 되고 있어도, 파일 형식을 판별중에 에러가 발생하면(자), 역시 실패합니다.

파라미터:
url - 파일 형식 정보를 추출하는 URL
반환값:
MIDI 파일 형식을 기술하는 MidiFileFormat 객체
예외:
InvalidMidiDataException - 시스템이 인식한 유효한 MIDI 파일 데이터를 URL 가 가리키지 않는 경우
IOException - URL 에 액세스중에 입출력 예외가 발생했을 경우
관련 항목:
getMidiFileFormat(InputStream) , getMidiFileFormat(File)

getMidiFileFormat

public static MidiFileFormat  getMidiFileFormat(File  file)
                                        throws InvalidMidiDataException ,
                                               IOException 
지정된 File 의 MIDI 파일 형식을 가져옵니다. File 는, 시스템이 인식한 파일형에 유효한 MIDI 파일 데이터를 나타낼 필요가 있습니다.

이 조작은, 인스톨 된 파일 리더에 의해 구문 분석 할 수 있는 종류의 파일에 한정해 유효합니다. 호환성이 있는 파일 리더가 인스톨되어 있지 않은 경우, 유효한 파일에서도 InvalidMidiDataException 를 throw 해 실패할 가능성이 있습니다. 호환성이 있는 파일 리더가 인스톨 되고 있어도, 파일 형식을 판별중에 에러가 발생하면(자), 역시 실패합니다.

파라미터:
file - 파일 형식 정보를 추출하는 File
반환값:
MIDI 파일 형식을 기술하는 MidiFileFormat 객체
예외:
InvalidMidiDataException - 시스템이 인식한 유효한 MIDI 파일 데이터를 File 가 가리키지 않는 경우
IOException - 파일에 액세스중에 입출력 예외가 발생했을 경우
관련 항목:
getMidiFileFormat(InputStream) , getMidiFileFormat(URL)

getSequence

public static Sequence  getSequence(InputStream  stream)
                            throws InvalidMidiDataException ,
                                   IOException 
지정된 입력 스트림로부터 MIDI 순서를 가져옵니다. 스트림은, 시스템이 인식한 파일형에 유효한 MIDI 파일 데이터를 나타낼 필요가 있습니다.

이 메소드 또는 이 메소드가 호출하는 코드, 혹은 그 양쪽 모두, 그 데이터 형식이 지원될지 어떨지를 판정하기 위해서 스트림로부터 데이터를 얼마인가 읽어낼 필요가 있습니다. 따라서, 스트림을 마크 해, 데이터가 지원되는 형식일지 어떨지를 판정하는데 충분한 데이터를 읽어내, 스트림의 리드 포인터를 원래의 위치에 되돌리기 위한 구현이 필요합니다. 입력 스트림이 이 일련의 조작을 허가하지 않는 경우, 이 메소드는 IOException 를 throw 해 실패합니다.

이 조작은, 인스톨 된 파일 리더에 의해 구문 분석 할 수 있는 종류의 파일에 한정해 유효합니다. 호환성이 있는 파일 리더가 인스톨되어 있지 않은 경우, 유효한 파일에서도 InvalidMidiDataException 를 throw 해 실패할 가능성이 있습니다. 호환성이 있는 파일 리더가 인스톨 되고 있어도, 파일 데이터로부터 Sequence 객체를 구축중에 에러가 발생하면(자), 역시 실패합니다.

파라미터:
stream - Sequence 를 구축하는 입력 스트림
반환값:
입력 스트림에 포함되는 MIDI 파일 데이터에 의거한다 Sequence 객체
예외:
InvalidMidiDataException - 시스템이 인식한 유효한 MIDI 파일 데이터를 스트림이 가리키지 않는 경우
IOException - 스트림에 액세스중에 입출력 예외가 발생했을 경우
관련 항목:
InputStream.markSupported() , InputStream.mark(int)

getSequence

public static Sequence  getSequence(URL  url)
                            throws InvalidMidiDataException ,
                                   IOException 
지정된 URL 로부터 MIDI 순서를 가져옵니다. URL 는, 시스템이 인식한 파일형에 유효한 MIDI 파일 데이터를 나타낼 필요가 있습니다.

이 조작은, 인스톨 된 파일 리더에 의해 구문 분석 할 수 있는 종류의 파일에 한정해 유효합니다. 호환성이 있는 파일 리더가 인스톨되어 있지 않은 경우, 유효한 파일에서도 InvalidMidiDataException 를 throw 해 실패할 가능성이 있습니다. 호환성이 있는 파일 리더가 인스톨 되고 있어도, 파일 데이터로부터 Sequence 객체를 구축중에 에러가 발생하면(자), 역시 실패합니다.

파라미터:
url - Sequence 를 구축하는 URL
반환값:
URL 가 가리키는 MIDI 파일 데이터에 의거하는 Sequence 객체
예외:
InvalidMidiDataException - 시스템이 인식한 유효한 MIDI 파일 데이터를 URL 가 가리키지 않는 경우
IOException - URL 에 액세스중에 입출력 예외가 발생했을 경우

getSequence

public static Sequence  getSequence(File  file)
                            throws InvalidMidiDataException ,
                                   IOException 
지정된 File 로부터 MIDI 순서를 가져옵니다. File 는, 시스템이 인식한 파일형에 유효한 MIDI 파일 데이터를 나타낼 필요가 있습니다.

이 조작은, 인스톨 된 파일 리더에 의해 구문 분석 할 수 있는 종류의 파일에 한정해 유효합니다. 호환성이 있는 파일 리더가 인스톨되어 있지 않은 경우, 유효한 파일에서도 InvalidMidiDataException 를 throw 해 실패할 가능성이 있습니다. 호환성이 있는 파일 리더가 인스톨 되고 있어도, 파일 데이터로부터 Sequence 객체를 구축중에 에러가 발생하면(자), 역시 실패합니다.

파라미터:
file - Sequence 를 구축하는 File
반환값:
File 가 가리키는 MIDI 파일 데이터에 의거하는 Sequence 객체
예외:
InvalidMidiDataException - 시스템이 인식한 유효한 MIDI 파일 데이터를 File 가 가리키지 않는 경우
IOException - 입출력 예외가 발생했을 경우

getMidiFileTypes

public static int[] getMidiFileTypes()
시스템이 파일 기입 지원를 제공하는 MIDI 파일형세트를 가져옵니다.

반환값:
일의의 파일형의 배열. 지원되고 있는 파일형이 없는 경우, 길이 0 의 배열이 반환된다

isFileTypeSupported

public static boolean isFileTypeSupported(int fileType)
지정된 MIDI 파일형의 파일 기입 지원를 시스템이 제공하고 있을지 어떨지를 나타냅니다.

파라미터:
fileType - 기입 기능이 조회되는 파일형
반환값:
파일형이 지원되고 있는 경우는 true, 그렇지 않은 경우는 false

getMidiFileTypes

public static int[] getMidiFileTypes(Sequence  sequence)
지정된 순서로부터 시스템이 기입해 가능한 MIDI 파일형세트를 가져옵니다.

파라미터:
sequence - MIDI 파일형의 지원가 조회되는 순서
반환값:
일의의 지원되는 파일형세트. 지원되고 있는 파일형이 없는 경우, 길이 0 의 배열이 반환된다

isFileTypeSupported

public static boolean isFileTypeSupported(int fileType,
                                          Sequence  sequence)
지정된 파일형의 MIDI 파일을, 나타난 순서로부터 기입할 수 있을지 어떨지를 나타냅니다.

파라미터:
fileType - 기입 기능이 조회되는 파일형
sequence - 파일 기입 지원가 조회되는 순서
반환값:
파일형이 이 순서에 대해서 지원되고 있는 경우는 true, 그렇지 않은 경우는 false

write

public static int write(Sequence  in,
                        int fileType,
                        OutputStream  out)
                 throws IOException 
제공되는 외부 스트림에 나타나는 MIDI 파일형을 나타내는 바이트의 스트림을 기입합니다.

파라미터:
in - 파일에 기입해지는 MIDI 데이터를 포함한 순서
fileType - 출력 스트림에 기입해지는 파일의 파일형
out - 파일 데이터가 기입해지는 스트림
반환값:
출력 스트림에 기입해지는 바이트수
예외:
IOException - 입출력 예외가 발생했을 경우
IllegalArgumentException - 시스템이 그 파일 형식을 지원하고 있지 않는 경우
관련 항목:
isFileTypeSupported(int, Sequence) , getMidiFileTypes(Sequence)

write

public static int write(Sequence  in,
                        int type,
                        File  out)
                 throws IOException 
제공되는 외부 파일에 나타나는 MIDI 파일형을 나타내는 바이트의 스트림을 기입합니다.

파라미터:
in - 파일에 기입해지는 MIDI 데이터를 포함한 순서
type - 출력 스트림에 기입해지는 파일의 파일형
out - 파일 데이터가 기입해지는 외부 파일
반환값:
파일에 기입해지는 바이트수
예외:
IOException - 입출력 예외가 발생했을 경우
IllegalArgumentException - 시스템이 그 파일형을 지원하고 있지 않는 경우
관련 항목:
isFileTypeSupported(int, Sequence) , getMidiFileTypes(Sequence)

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.