Note that there are some explanatory texts on larger screens.

plurals
  1. POAudio does not stop?
    primarykey
    data
    text
    <p>My small app plays music when the user hits the play button, but I want the music to stop when the user clicks on the "next" button. I've tried different methods but I'm having a problem; can anyone help please? Please find attached the code. Thanks.</p> <pre><code>- (IBAction)info { // This part takes us to the info page InfoPage *rab = [[InfoPage alloc] initWithNibName:@"InfoPage" bundle:nil]; [UIView beginAnimations:@"flipView" context:Nil]; [UIView setAnimationDuration:2]; [UIView setAnimationCurve:UIViewAnimationOptionCurveEaseInOut]; [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]; [self.view addSubview:rab.view]; [UIView commitAnimations]; // This part plays the next page turn noise NSURL *this = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/next.wav", [[NSBundle mainBundle] resourcePath]]]; NSError *error; pagePlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:this error:&amp;error]; [pagePlayer setDelegate:self]; pagePlayer.numberOfLoops = 0; [pagePlayer play]; //This will stop the music when turning page //[audioPlayer release]; clicked = 0; [start setImage:[UIImage imageNamed:@"Pplay.png"] forState:UIControlStateNormal]; } - (IBAction)next { // This part takes us to the next view Rabbana2 *rab = [[Rabbana2 alloc] initWithNibName:@"Rabbana2" bundle:nil]; [UIView beginAnimations:@"flipView" context:Nil]; [UIView setAnimationDuration:2]; [UIView setAnimationCurve:UIViewAnimationOptionCurveEaseInOut]; [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]; [self.view addSubview:rab.view]; [UIView commitAnimations]; // This part plays the next page turn noise NSURL *this = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/next.wav", [[NSBundle mainBundle] resourcePath]]]; NSError *error; pagePlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:this error:&amp;error]; [pagePlayer setDelegate:self]; pagePlayer.numberOfLoops = 0; [pagePlayer play]; //This will stop the music when turning page //[audioPlayer release]; clicked = 0; [start setImage:[UIImage imageNamed:@"Pplay.png"] forState:UIControlStateNormal]; } // This button plays the audio - (IBAction)play { if(clicked == 0){ clicked = 1; NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/rabbana1.wav", [[NSBundle mainBundle] resourcePath]]]; NSError *error; audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&amp;error]; [audioPlayer setDelegate:self]; audioPlayer.numberOfLoops = 0; [audioPlayer play]; [start setImage:[UIImage imageNamed:@"Sstop.png"] forState:UIControlStateNormal]; } else{ [audioPlayer release]; clicked = 0; [start setImage:[UIImage imageNamed:@"Pplay.png"] forState:UIControlStateNormal]; } } //If user does not do anything by the end of the sound set the button to start - (void) audioPlayerDidFinishPlaying: (AVAudioPlayer *) player successfully: (BOOL) flag { if (flag==YES) { clicked = 0; [start setImage:[UIImage imageNamed:@"Pplay.png"] forState:UIControlStateNormal]; } } // If user click on the next button while audio playing, Audio should stop - (void) audioPlayerDidNotFinishPlaying: (AVAudioPlayer *) player success: (BOOL) flag { if (flag==YES) { //[audioPlayer stop]; clicked = 0; [start setImage:[UIImage imageNamed:@"Pplay.png"] forState:UIControlStateNormal]; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload