2009-08-07 5 views
0

Je mets un bouton sur une cellule de vue de table qui joue le son quand ils sont pressés, quand j'appuie sur le bouton cela arrête le son. Mais en appuyant sur un autre bouton sur une autre cellule, il ne joue pas un autre son pendant que l'autre joue encore. J'espère que quand un autre bouton est pressé dans une autre cellule de tableau, il arrêtera le son de lecture.Je mets un bouton sur une cellule de vue de table qui joue le son quand ils sont pressés mais

Voici mon code

fichier .H

J'entre ce support sur @interface AVAudioPlayer * talkSound;

.m

NSString *myExamplePath = [[NSBundle mainBundle] pathForResource:@"kumusta" ofType:@"m4a"]; 
if (talkSound.playing) { 
[talkSound stop]; 
[talkSound release]; 
} 
talkSound =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:myExamplePath] error:NULL]; 
talkSound.delegate = self; /*with this here it says theres no delegate so i go an add AVAudioPlayerDelegate and i get tons of errors of connot find protocol declaration*/ 
[talkSound play]; 

Répondre

1

Je ne sais pas si cela est le problème, mais vous n'avez pas besoin de libérer et de réattribuer la AVAudioPlayer chaque fois. Juste arrêter et de démarrer il devrait fonctionner correctement, comme:

if (talkSound.playing) { 
    [talkSound stop]; 
} 
[talkSound play]; 

alors vous pouvez juste alloc/init la AVAudioPlayer une fois, peut-être viewDidLoad.

Questions connexes