Кнопка паузы не работает при переключении воспроизведения / паузы - PullRequest
0 голосов
/ 02 февраля 2012

Кнопка воспроизведения показывает, и когда я нажимаю кнопку воспроизведения, она воспроизводит аудиофайл и превращает кнопку воспроизведения в кнопку паузы, но когда я нажимаю кнопку паузы, чтобы приостановить ее.Он не останавливается, а воспроизводит аудиофайл с самого начала.После нажатия кнопки паузы больше не отображается кнопка воспроизведения

UIButton *playpauseButton = [UIButton buttonWithType:UIButtonTypeCustom];

[playpauseButton addTarget:self action:@selector(playpauseAction:) forControlEvents:UIControlEventTouchUpInside];

playpauseButton.frame = CGRectMake(0, 0, 50, 50);

[playpauseButton setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];

[playpauseButton setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateSelected];

UIBarButtonItem *playpause = [[UIBarButtonItem alloc] initWithCustomView:playpauseButton];

-(void)playpauseAction:(id)sender 
{

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"theme" 
                                                     ofType:@"mp3"];

NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath];

audioPlayer = [[AVAudioPlayer alloc] 
              initWithContentsOfURL:fileURL error:nil];

[fileURL release];

if  

  ([audioPlayer isPlaying]){

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

 [audioPlayer pause];

  } else {

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

      [audioPlayer play];

  } 

}

Как заставить работать кнопку паузы и снова показывать кнопку воспроизведения после нажатия паузы.

Спасибо за помощь.

1 Ответ

1 голос
/ 02 февраля 2012

Вы создаете новый экземпляр AVAudioPlayer для каждого нажатия кнопки. Что вы должны сделать, это работать с общим экземпляром и сохранить указатель в audioPlayer.

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