曲の再生中にプログレスビューが更新されません。私は各時間間隔で更新する更新メソッドを使用して、他のポストから読み取ることによって。UIProgressViewはオーディオプレーヤーをアップデートしていませんか?
- (void)viewDidLoad {
[super viewDidLoad];
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"Fix you_Coldplay" ofType:@"mp3" inDirectory:@"Coldplay"];
NSLog(@"%@",filePath);
NSURL *url = [NSURL fileURLWithPath:filePath];
NSLog(@"%@",url);
musicPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil];
[musicPlayer prepareToPlay];
[trackProgress setProgress:0.0];
}
私はupdateTime:メソッドの呼び出しにも使用されている再生ボタンを持っています。
- (IBAction)playButton:(id)sender {
[musicPlayer play];
[NSTimer scheduledTimerWithTimeInterval:0.0 target:self selector:@selector(updateTime:) userInfo:nil repeats:YES];
NSTimeInterval interval = musicPlayer.currentTime/musicPlayer.duration;
NSLog(@"%f",interval);
}
updateTime:メソッド
-(void)updateTime:(NSTimer *)timer {
trackProgress.progress = (musicPlayer.currentTime/musicPlayer.duration);
}
私はプログラミングとさえスタックオーバーフローに非常に新しいです。これは私が投稿している最初の質問です。私を助けて、事前に感謝してください。すべての変更タイマ値の
の進捗ビューを更新することを確認します。私がプレイしているとき、プログレスバーはゼロ位置から少し前に移動していますが、その後はやはり馬鹿になります – Finch
この部門の最終フロート値は何ですか:(musicPlayer.currentTime/musicPlayer.duration)を確認できますか? –
私はupdateTime:メソッドにNSLogステートメントを挿入したとき、浮動小数点値は0.0から始まり、最終浮動小数点値は0.999081です。しかし、エンドトラックの終わりに音楽が止まったときにそれをチェックしたところ、それは0.002723だったので、突然0.993965に上がり、0.999081で終わった。 – Finch