我使用的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