D'accord, j'ai deux problèmes. J'utilise AVAudioPlayer pour lire un simple fichier audio au format .caf. Ce que j'essaye de faire est d'avoir un bouton de lecture et de pause. Voici un exemple d'une simple IBAction pour lire l'audio à partir d'un bouton.Aide pour arrêter l'audio à l'aide de AVAudioPlayer
- (IBAction) clear {
NSString *path = [[NSBundle mainBundle] pathForResource:@"clear" ofType:@"caf"];
AVAudioPlayer* myAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
myAudio.delegate = self;
myAudio.volume = 1.0;
myAudio.numberOfLoops = 0;
[myAudio play];
}
Alors, quand j'aller de l'avant et créer un autre IBAction la méthode ...
- (IBAction) stopaudio {
[myAudio stop];
audioPlayer.currentTime = 0;
}
Je compilez et Xcode me dit que myAudio dans le stopaudio IBAction n'est pas défini. Comment puis-je résoudre le problème pour accéder à myAudio dans un autre IBAction? Ma deuxième question est que j'utilise NavigationController pour installer un TableView, quand je fais une sélection, il me prend à un UIView avec un bouton de retour pour revenir à la TableView. Ce que j'essaye de faire est de tuer n'importe quel audio que j'ai joué dans le UIView quand je retourne à la TableView. Le code ci-dessus fait partie du code que je vais avoir dans l'UIView.
Aussi une question rapide. Disons que j'ai un fichier audio d'une minute. Cliquer à nouveau sur la lecture chevauchera une nouvelle instance de cet audio avant que l'ancienne instance ne soit jouée. Comment puis-je vérifier si myAudio est en cours de lecture et ne pas autoriser sa lecture jusqu'à la fin de la lecture de myAudio?
Merci!
vous devez suivre la convention de nommage qu'ils utilisent, de sorte que stopaudio serait stopAudio. – Sneakyness