codice:
package org.altervista.xsparter.www.test;
import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.media.AudioManager;
import android.media.MediaPlayer;
import java.util.Arrays;
/**
* Created by Domenico on 03/08/2015.
*/
public class actionview extends Activity {
public String[] siglenoteamericane = {"C0", "D0", "E0", "F0", "G0", "A0", "B0", "C1", "D1", "E1", "F1", "G1", "A1", "B1", "C2", "D2", "E2", "F2", "G2", "A2", "B2", "C3", "D3", "E3", "F3", "G3", "A3", "B3", "C4", "D4", "E4", "F4", "G4", "A4", "B4", "C5", "D5", "E5", "F5", "G5", "A5", "B5", "C6", "D6", "E6", "F6", "G6", "A6", "B6", "C7", "D7", "E7", "F7", "G7", "A7", "B7", "C8"};
public boolean preparaiton = false;
public void preparesound(Context context){
for(int i = 0;i < 50;i++){
Resources res = context.getResources();
int soundId = res.getIdentifier(siglenoteamericane[i].toLowerCase(), "raw", context.getPackageName());
variableplaying.Mediaplayersound[i] = MediaPlayer.create(context,soundId);
variableplaying.Mediaplayersound[i].setAudioStreamType(AudioManager.STREAM_MUSIC);
variableplaying.Mediaplayersound[i].setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
variableplaying.action = null;
}
});
}
}
public void getSound(String nota) {
int position = Arrays.asList(siglenoteamericane).indexOf(nota);
if(variableplaying.action != null){
int positionram = Arrays.asList(siglenoteamericane).indexOf(variableplaying.action);
variableplaying.Mediaplayersound[positionram].pause();
variableplaying.Mediaplayersound[positionram].stop();
System.err.println("altro suono rilevato,in cancellazione");
}
variableplaying.action = nota;
System.err.println("Nota da richiamare: " + position);
variableplaying.Mediaplayersound[position].start();
}
}
il comando "prepraresound" covrebbe occuparsi di caricare i vari suoni,e quest'operazione vene effettuata dalla classe principale con il relativo contesto,e fin qui tutto ok. Il problema sta con "getsound" che appunto,spesos mi ritorna quell'errore lì.