오디오 플레이어가있어서 재생 시간을 표시하고 싶습니다. 나는 커스텀 플레이 클래스를 사용하고있다.재생 위치를 부드럽게하는 NSTimer
5 %가 다운로드되면 파일에서 mp3를 다운로드 한 다음 파일에서 재생합니다. 파일이 재생 될 때 진행보기 업데이트가 있고 진행보기에 대한 각 호출시 레이블이 업데이트됩니다. 그러나 이것은 육포적입니다 ... 때로는 한두 자리 뒤로도갑니다.
나는 NSTimer를 사용하여 물건을 부드럽게 만들 것을 고려하고있었습니다. 매초마다 메서드에 해고되고 재생 된 백분율을 메서드에 전달한 다음 레이블을 업데이트합니다.
먼저이 방법이 합리적으로 보입니까?
둘째, 타이머의 대상에 백분율 (부동 소수점)을 어떻게 전달합니까? 지금은 백분율을 사전에 넣고 있지만 이것은 최적이 아닌 것 같습니다.
이 갱신 진행 표시 줄을 소위입니다 :
-(void)updateAudioProgress:(Percentage)percent {
audio = percent;
if (!seekChanging) slider.value = percent;
NSMutableDictionary *myDictionary = [[NSMutableDictionary alloc] init];
[myDictionary setValue:[NSNumber numberWithFloat:percent] forKey:@"myPercent"];
[NSTimer scheduledTimerWithTimeInterval:5
target:self
selector:@selector(myTimerMethod:)
userInfo:myDictionary
repeats:YES];
[myDictionary release];
}
이 처음 5 초 정도라고하지만 메서드가 호출 될 때마다 업데이트됩니다.
항상 그렇듯이 의견과 조언을 부탁드립니다.
답변 해 주셔서 감사합니다. –