2013-09-23 9 views
0

게임에서 사용하는 .mid 파일을 가져 와서 드럼 탭을 생성하고 있습니다. 그것은 몇 가지 .MID 파일에 대한 잘 작동하지만 다른 사람들은 내가 DumpSequence.javaEOF MIDI 파일을로드 할 때 예외가 발생했습니다.

Sequence sequence = null; 
File midiFile = new File(strFilename); 
sequence = MidiSystem.getSequence(midiFile); 

에서 가져온 코드의 추출, 사용하고

(패키지는 javax.sound.midi의)는 EOFException는

을 생산 발생 오류 :

java.io.EOFException : 잘못된 MIDI 파일
com.sun.media.sound.SMFParser.readTrack (알 수없는 소스)
에서 com.sun.media.sound.StandardMidiFileReader.getSequence (알 소스)에 com.sun.media.sound.StandardMidiFileReader.getSequence
(알 소스)에 javax.sound.midi.MidiSystem.getSequence
(알 추이 1,515,) DumpSequence.main (DumpSequence.java:125)에서

사람이 올바른 방향으로 날 지점 수, 방법이 문제를 해결하려면? 나는 솔루션을 찾으려고 노력했지만, 나 자신은 비었지만 비어있게되었습니다.

+1

언제이 오류가 발생합니까? –

+0

프로그램은 미디 경로와 파일명을위한 문자열을받습니다. 다른 매개 변수가 전달되었는지 확인한 후 프로그램은 midi 파일을로드하려고 시도합니다. 오류가 발생했습니다. – user2808584

+0

그래서 : the sequence = MidiSystem.getSequence (midiFile); 예외를 throw하는 행? –

답변

1

나는 몇 가지 가능성을 생각할 수 : 오류 메시지 상태로

  1. 를, MIDI 파일은 실제로 형식이 잘못되었습니다.
  2. 바이트 순서는이 파일과 다르며 파일 자체에는 표시되지 않습니다.
  3. 사용중인 Java (또는 javax.sound 라이브러리)의 버전이이 MIDI 파일 형식을 인식하지 못합니다.

파일 형식이 다른 MIDI 파일 플레이어로 재생할 수 있는지 여부를 쉽게 확인할 수 있어야합니다. 그런 다음 다른 잘 알려진 Java MIDI 프로그램이이를 처리 할 수 ​​있는지 확인하십시오.

관련 문제