Je fais une application de langue des signes du doigt. J'ai réussi à obtenir les sous-chaînes d'une chaîne à partir de l'entrée de l'utilisateur. Maintenant, chaque lettre a un fichier vidéo correspondant de mon sqlite et je veux le lire sur la vidéo une par une après chaque lettre.Comment lire plusieurs vidéos de sqlite non simultanée (en file d'attente) à videoView via une boucle?
table:
| nom de fichier vidéo |
| a | lettera |
| b | letterb |
| c | letterc | etc.
public void fingerspell(View v) {
CharSequence charSequence = etsearch.getText();
String s = charSequence.toString();
int startingletter = 0;
int endingletter = 1;
String desiredString;
int wordlength = etsearch.length();
do{
desiredString = s.substring(startingletter, endingletter);
Cursor c = db.rawQuery("SELECT * FROM tblletters WHERE letter like '" + desiredString + "'", null);
while (c.moveToNext()) {
Toast.makeText(getApplicationContext(), desiredString, Toast.LENGTH_LONG).show();
String video = c.getString(1);
int videoResource = getResources().
getIdentifier(video, "raw", getPackageName());
String path = "android.resource://" + getPackageName() + "/" + videoResource;
videoview.setVideoURI(Uri.parse(path));
videoview.start();
videoview.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
//can't put startingletter++ here
}
});
startingletter++;
endingletter++;
}
startingletter++;
endingletter++;
}while(startingletter<wordlength);
}
Seul le toast fonctionne, il lit la première vidéo mais ne joue pas la suivante.