Конфликт между кнопками воспроизведения и перемотки для обновления контроллеров представления - PullRequest
0 голосов
/ 21 марта 2012

AVAudioPlayer воспроизводит аудиофайл и обновляет viewcontrollers, когда нажимается кнопка воспроизведения, и она загружает viewcontrollers через разные промежутки времени, и если между нажатиями кнопки перемотки пользователя происходит перезапуск всего этого процесса, то междуобновление viewcontrollers для кнопки воспроизведения.Как я могу остановить это, когда пользователь нажимает кнопку перемотки.Я хочу запрограммировать его так, чтобы, когда пользователь нажимал кнопку перемотки, он прекратил предыдущую текущую обработку обновления viewcontrollers для кнопки воспроизведения

-(void)rewind:(id)sender{

audioPlayer.currentTime = 0;

[audioPlayer play];

MainViewController *viewController = [[MainViewController alloc] init];

viewController.view.frame = CGRectMake(0, 0, 320, 480);

[self.view addSubview:viewController.view]; 

[self.view addSubview:toolbar];

[viewController release];

self.timer = [NSTimer scheduledTimerWithTimeInterval:11 target:self selector:@selector(displayviewsAction:) userInfo:nil repeats:NO];

}

-(void)playpauseAction:(id)sender 
{

  if  

  ([audioPlayer isPlaying]){

 [sender setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateSelected];

      [audioPlayer pause];

  } else {

 [sender setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];

      [audioPlayer play];


      self.timer = [NSTimer scheduledTimerWithTimeInterval:11 target:self selector:@selector(displayviewsAction:) userInfo:nil repeats:NO];
  }  

}

- (void)displayviewsAction:(id)sender
{   
FirstViewController *viewController = [[FirstViewController alloc] init];

viewController.view.frame = CGRectMake(0, 0, 320, 480);

[self.view addSubview:viewController.view];

[self.view addSubview:toolbar];

[viewController release];      

  self.timer = [NSTimer scheduledTimerWithTimeInterval:23 target:self selector:@selector(secondViewController) userInfo:nil repeats:NO];     

}   

1 Ответ

0 голосов
/ 21 марта 2012

Я исправил это с помощью

[timer invalidate];

в начале оператора перемотки и теперь работает нормально.

Итак, моя проблема исправлена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...