안드로이드 개발 질문/답변
(글 수 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로 재생하는 방식으로 되어있네요...
이런 방식이라면 어느 기기에서도 다 같은 동작을 하지 않을까 생각됩니다..
지원이 되는지는 모르겠습니다.
다만 지원이 된다면 말씀하신대로 소리가 다 다를겁니다.