Bonjour,
je m'essaye au développement d'application pour iphone.
j'ai créé une class LecteurAudio qui permet de jouer des fichiers audio à l'aide de la classe "Audio Queue Services".
J'ai déjà implémenté les méthodes play(), pause(), resume(), stop() et changerVolume() qui marchent très bien.
Maintenant je cherche à écrire une méthode seek() permettant d'avancer ou de reculer la lecture.
Voici ce que je fais :
Ceci fonctionne mais avec un temps entre l'appel de la méthode et le changement de la lecture (certainement le temps que le buffer courant de mon AudioQueue soit lu).
J'aimerais savoir si je suis sur la bonne voie et quelle la marche à suivre pour réaliser ceci ?
je m'essaye au développement d'application pour iphone.
j'ai créé une class LecteurAudio qui permet de jouer des fichiers audio à l'aide de la classe "Audio Queue Services".
J'ai déjà implémenté les méthodes play(), pause(), resume(), stop() et changerVolume() qui marchent très bien.
Maintenant je cherche à écrire une méthode seek() permettant d'avancer ou de reculer la lecture.
Voici ce que je fais :
Bloc de code:
- (void) seek:(float)pos{
// [U]pos[/U] : nombre entre 0 et 1
// [U]numPacketsInFile[/U] : nombre total de packets à lire
// [U]startingPacketNumber[/U] : index du packet à lire par la méthode callBack de mon AudioQueue
// ce nombre est incrémenter au cours de la lecture
UInt32 newStartingPacketNumber = self.numPacketsInFile * pos;
[self setStartingPacketNumber:newStartingPacketNumber];
}
J'aimerais savoir si je suis sur la bonne voie et quelle la marche à suivre pour réaliser ceci ?