我使用的NSTimer而音频播放更新滑块的值。
if (sliderUpdateTimer) {
[sliderUpdateTimer invalidate];
sliderUpdateTimer=nil;
}
sliderUpdateTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(updateSliderForAudio) userInfo:nil repeats:YES];
一旦音频完成播放我无效的音频播放器委托方法中的计时器。
-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag{
NSLog(@"audioPlayerDidFinishPlaying");
[player release];
audioPlayer=nil;
[sliderUpdateTimer invalidate];
[sliderUpdateTimer release];
sliderUpdateTimer=nil;
}
委托方法获取调用,但计时器没有停止....我只有一次线程对此我乳宁计时器。但还是计时器不会停止....这方面的任何帮助,欢迎...
即停止计时器的正确方法,一定有什么其他错误。你在看什么?函数'updateSliderForAudio'仍然被调用?你怎么知道?应用程序崩溃了吗? – 2012-02-02 09:11:43
该方法包含'如果(sliderUpdateTimer){...'代码??? – 2012-02-02 09:12:15
该应用没有崩溃。但是,即使在定时器失效之后,updateSliderForAudio也会被连续调用。即使在使方法失效之后,方法中的日志语句也会被调用 – 2012-02-02 09:17:44