[英]iOS:AVAudioPlayer starts from beginning after pause
我正在尝试实现AVAudioPlayer
以开始,暂停,停止,倒带和转发带有进度条的音频。 我实现了成功启动,但是当我pause
音频并再次播放时,它从头开始重新启动,而不是从剩下的声音中恢复。
以下是代码:
- (IBAction)btnPlay_click:(id)sender {
UIButton *btn = (UIButton *)sender;
if([btn backgroundImageForState:UIControlStateNormal] == [UIImage imageNamed:@"play.png"]){
[self.audioPlayer setDelegate:self];
NSString *audioPath = [NSString stringWithFormat:@"%@/%@",self.strBookPath, [arrMP3Files objectAtIndex:currentPage+1]];
NSURL *audioURL = [NSURL fileURLWithPath:audioPath];
NSError *error;
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:&error];
[self.audioPlayer prepareToPlay];
[self.audioPlayer play];
[btn setBackgroundImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
} else {
[self.audioPlayer pause];
[btn setBackgroundImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];
}
}
我哪里出问题了? 我该如何解决?
我认为您应该像下面那样更新代码
- (IBAction)btnPlay_click:(UIButton *)sender
{
if (!self.audioPlayer)
{
NSString *audioPath = [NSString stringWithFormat:@"%@/%@",self.strBookPath, [arrMP3Files objectAtIndex:currentPage+1]];
NSURL *audioURL = [NSURL fileURLWithPath:audioPath];
NSError *error;
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:&error];
[self.audioPlayer setDelegate:self];
[self.audioPlayer prepareToPlay];
}
if(![self.audioPlayer isPlaying])
{
[self.audioPlayer play];
[btn setBackgroundImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
}
else
{
[self.audioPlayer pause];
[btn setBackgroundImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.