toggle between UIBarButtonSystemItemPlay and UIBarButtonSystemItemPause

前端 未结 2 1643
遇见更好的自我
遇见更好的自我 2020-12-19 22:06

Have two UIBarButtonItems want to make it as one UIBarButtonItem and toggle between them

UIBarButtonItem *systemItem1 = [[UIBarButtonItem alloc]
                   


        
2条回答
  •  长情又很酷
    2020-12-19 23:00

    Essentially, every time the play/pause status is updated, you're going to want to run a method to update the toolbar. Something like this should work. You can create a method like this:

    -(void)playPause{
          if(audioPlayer == nil){
              NSString *filePath = [[NSBundle mainBundle] pathForResource:@"theme" ofType:@"mp3"];
              NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath];
              audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];
              audioPlayer.currentTime = 0;
              [fileURL release];
          }
          UIBarButtonSystemItem buttontype = UIBarButtonSystemItemPlay;
          if([audioPlayer isPlaying]){
              [audioPlayer pause];
          }
          else {
              [audioPlayer play];
              buttontype = UIBarButtonSystemItemPause;
          }
          UIBarButtonSystemItem *item = [[[UIBarButtonItem alloc]
                               initWithBarButtonSystemItem:buttontype 
                               target:self 
                               action:@selector(playPause)] autorelease];
          self.toolbar.items = [NSArray arrayWithObject:item];
    }
    

提交回复
热议问题