Je construis une application de musique simple. Peu importe ce que j'essaie, je n'arrive pas à arrêter une chanson pour jouer une nouvelle chanson. J'ai essayé d'arrêter, relâcher, arrêter et relâcher ensemble; J'ai créé un service; J'ai même essayé d'utiliser la position actuelle pour obtenir la position du Mp3 et le considérer jouer si la position est> 1.
Mais rien n'a fonctionné et je deviens fou en essayant de comprendre cela.
J'ai travaillé sur cela pendant 5 jours et j'ai échoué à tout ce que j'ai lancé.mediaplayer position actuelle est toujours zéro
J'apprécierais grandement tout conseil et une solution claire.
Je suis un noob et j'essaye très dur de résoudre mes propres problèmes mais celui-ci me fait juste perplexe.
import android.app.Service;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.util.Log;
import java.io.IOException;
public class MyService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
MediaPlayer mediaplayer;
mediaplayer = new MediaPlayer();
mediaplayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
String extRec = intent.getExtras().getString("extRec");
Log.d("My Service", "Received extra: " + extRec);
if (mediaplayer.isPlaying()){
Log.d("My Service is playing ", "yes");
}
else {
Log.d("My Service is playing ", "no");
}
//mediaplayer.stop();
//mediaplayer.release();
try {
final String AudioURL = extRec;
Log.d("My Service audioURL ", AudioURL);
mediaplayer.setDataSource(AudioURL);
mediaplayer.prepare();
Log.d("My Service", "position: " + mediaplayer.getCurrentPosition());
mediaplayer.start();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return START_STICKY;
}
}
vous appelez 'getCurrentPosition()' avant 'start()' méthode, qu'est-ce que vous attendre à propos de la position actuelle? – pskink