我有一个音频播放器,我想显示播放的当前时间。我正在使用自定义游戏课程。
该应用程序将 mp3 下载到一个文件中,然后在下载 5% 时从该文件中播放。当文件播放时,我有一个进度视图更新,并在每次调用进度视图时更新一个标签。但是,这很生涩……有时甚至会倒退一两个数字。
我正在考虑使用 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 秒后首先被调用,但每次调用该方法时都会更新。
与往常一样,评论和指针表示赞赏。