У меня две проблемы. Я использую AVAudioPlayer для воспроизведения простого аудиофайла в формате .caf. Я пытаюсь сделать кнопку воспроизведения и паузы. Вот пример простого IBAction для воспроизведения звука с кнопки.Помогите остановить звук с помощью AVAudioPlayer
- (IBAction) clear {
NSString *path = [[NSBundle mainBundle] pathForResource:@"clear" ofType:@"caf"];
AVAudioPlayer* myAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
myAudio.delegate = self;
myAudio.volume = 1.0;
myAudio.numberOfLoops = 0;
[myAudio play];
}
Так что, когда я иду вперед и создать еще один IBAction с методом ...
- (IBAction) stopaudio {
[myAudio stop];
audioPlayer.currentTime = 0;
}
компилировать и Xcode рассказывает мне, что myAudio в stopaudio IBAction не определен. Как исправить это, чтобы я мог получить доступ к myAudio в другом IBAction?
Мой второй вопрос заключается в том, что я использую NavigationController для настройки TableView, когда я делаю выбор, он возвращает меня в UIView с помощью кнопки «Назад», чтобы вернуться к TableView. Я пытаюсь убить любой звук, который я играл в UIView, когда возвращаюсь к TableView. Код выше является частью кода, который я буду иметь в UIView.
Также один быстрый вопрос. Допустим, у меня есть аудиофайл длиной 1 минуту. При повторном нажатии на воспроизведение будет перекрываться новый экземпляр этого аудио до того, как будет воспроизведен старый экземпляр. Как я могу проверить, воспроизводится ли myAudio, и не разрешать ли воспроизведение снова, пока myAudio не закончит воспроизведение?
Спасибо!
вы должны следовать соглашению об именах они используют, так что stopaudio будет stopAudio. – Sneakyness