안드로이드 개발 질문/답변
(글 수 45,052)
악기 소리를 내는 어플들이 많은데요, 음원 파일을 넣어두고 재생을 해야하는지 내장 미디 소리로 구현이 가능한지 의문입니다.
내장 미디로 된다면, 혹 기기마다 소리가 다르거나 지원을 안하거나 그러지는 않을까요?
안드로이드 버젼을 따라가는지 폰 기종을 따라가는지 모르겠어요...
조언 부탁드릴께요.
2012.04.27 10:37:11
public void createMidiFiles(int patch, int octaveShift) throws IOException{
int pitch = 0x3c-36+(octaveShift*12);
int[] bytes = DUMMY_BYTES;
String[] pitches = MainActivity.PITCHES;
String dir = mCtx.getDir("", Context.MODE_PRIVATE).getAbsolutePath();
for(int i=1;i<=MainActivity.OCTAVE_COUNT;i++){
for (int j=0;j<pitches.length;j++){
File file = new File(dir+File.separator+pitches[j]+i+".mid");
if(!file.exists())file.createNewFile();
FileOutputStream fos = new FileOutputStream(file);
bytes[100] = pitch;
bytes[104] = pitch;
bytes[89] = patch;
for(int c=0;c<bytes.length;c++) fos.write(bytes[c]);
fos.close();
pitch++;
}
}
}출처 : 구글프로젝트 오픈 소스 사이트
< hyeongkyu.net (hyeongkyu@gmail.com) >
위 createMidiFiles 메소드의 소스 코드에 대해 문제가 된다면 삭제하겠습니다...
직접 midi file을 생성해서 activity에서는 생성된 midi를 sound pool로 재생하는 방식으로 되어있네요...
이런 방식이라면 어느 기기에서도 다 같은 동작을 하지 않을까 생각됩니다..




지원이 되는지는 모르겠습니다.
다만 지원이 된다면 말씀하신대로 소리가 다 다를겁니다.