Processing2로 아두이노랑 연동해서 터치 피아노를 좀 만들고 있습니다.
minim이라는 라이브러리를 사용하는데,
minim.loadSample(String) 이라는 함수를 이용해서 음원파일들을 불러와야합니다.
String값에 들어가는게 파일이름 예를 들면 "1_1.mp3" 이런 식이 됩니다.
String filenames
for ( i = 0 ; i < n_Inst ; i ++){ // n_Inst=4입니다
for ( j = 0 ; j < 12 ; j ++){
filenames = Integer.toString(i+1) + "_" + Integer.toString(j+1) + ".mp3";
plays [i][j] = minim.loadSample(filenames);
}
}
요런식으로 짰는데 NullPonterExecption이 발생하네요..
보통 파일 이름이 잘못되었을 때 이 에러가 발생하던데,
print로 확인해 본 결과로는 "1_1.mp3"~"1_12.mp3"~~~"4_12.mp3"까지 제대로 나오거든요.. ㅠㅠ
filenames 대신에 파일 이름을 직접 넣으면 제대로 돌아가구요..
전에 조금 다른 형태로(그때 그때 로딩하는) 짰다가, i+1을 까먹어서 안되다가 발견하고 고쳤는데,
미리 전부 로딩해놓는 방식으로 바꾸려고 수정하고 있는데 오류가 답이 없네요..
제가 어디를 놓치고 있는지 아시는 분 계시면 일침 부탁드립니다..ㅜㅜ