2012-03-21 77 views
0

AVAudioPlayer正在播放的AudioFile和更新viewcontrollers当播放按钮被击中,它会加载viewcontrollers在不同timeintervals,如果在与用户点击快退按钮将重新启动整个过程,但在两者之间就说明播放按钮的更新流程viewcontrollers。当用户点击后退按钮时,我该如何停止。我想是这样,当用户点击快退按钮,那么它应该在一开始使用冲突更新viewcontrollers

[timer invalidate]; 

停止更新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];  

} 

回答

0

我固定它的前一个正在进行的处理程序倒带声明,现在它工作正常。

所以我的问题是固定的。