2012-02-02 3 views
0

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

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

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

Смежные вопросы