Bonjour,
J'utilise un player audio dans une application et je rencontre le problème suivant. Je ne sais pas s'il s'agit d'un problème au niveau de mon code ou si c'est lié à l'API, alors je commence sans donner le code.

J'instancie un player (audio), et je crée des boutons play/pause/stop. J'ai également un curseur qui avance au gré de l'avancement du morceau de musique, et dont la mécanique est géré par un thread indépendant.
Tout cela marche bien en général : play, pause, replay, pause, etc., ou bien stop en plein milieu d'un morceau, play etc. Le problème survient quand je laisse le morceau arriver à son terme. A ce moment, je demande au curseur de s'arrêter (je guette l'évènement EndOfMediaEvent), et je reprépare le morceau au début avec un setMediaTime(new Time(0)). Mais si je le relance (bouton play), aucun son ne sort, et je peux constater par le mouvement du curseur que le défilement du média n'est pas du tout continu et régulier. J'ai confirmé cela en faisant afficher getMediaTime à chaque fois que j'avance le curseur d'une unité (lequel est bien géré en fonction de la durée totale du morceau, de la largeur de la fenêtre, etc.) : au lieu de "jouer" (sans son !) toutes les 0.2 s, ça fait des sauts entre 0,2 et 2 s !?

Si je laisse le morceau arriver à son terme, j'ai le même comportement : pas de son, et des sauts dans le morceau assez aléatoires. Je retrouve le son et le défilement dans les deux cas suivants :
1) soit j'appuie sur stop alors que le morceau est en train de jouer sans son avec son avancement aléatoire, alors le morceau se réinitialise, le curseur revient à 0 et lorsque j'appuie à nouveau sur play, tout se passe bien,
2) j'appuie sur pause alors que le morceau est en train de jouer sans son avec son avancement aléatoire, et dans ce cas, si j'appuie à nouveau sur play, le player reprend normalement avec le son et l'avancement régulier, à l'instant où j'ai appuyé sur pause (qui peut être égal à 3 secondes alors que j'ai appuyé sur pause seulement une seconde après play, du fait du saut aléatoire du player dans le morceau)...

Voilà décrit sans code mon problème. Je peux détailler si quelque chose n'est pas clair. S'agit-il d'un comportement "normal" défini par l'API ou bien est-ce un défaut de conception de mon code ?
Que me conseilleriez-vous pour gérer le problème (si possible de façon propre...) ?