-
AVAudioPlayer 通過播放音頻發(fā)現(xiàn)AVAudioPlayer的duration屬性會變删性,當快播放到最后的時候duration屬性才是準確的亏娜,如下圖:
所以解決辦法就是將AVAudioPlayer的currentTime設置到靠近最后位置,然后duration屬性就是正常了
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:filePath error:&error];
if (error) {
NSLog(@"創(chuàng)建錄音播放對象發(fā)生錯誤蹬挺,錯誤信息是:%@",error.localizedDescription);
}else {
self.audioPlayer.delegate = self;
self.audioPlayer.meteringEnabled = YES;
self.audioPlayer.numberOfLoops = 0;
[self.audioPlayer prepareToPlay];
// 獲取準確的時長
NSLog(@"1.-----%f",self.audioPlayer.duration);
_audioPlayer.currentTime = self.audioPlayer.duration;
NSLog(@"2.-----%f",self.audioPlayer.duration);
_audioPlayer.currentTime = 0;
NSLog(@"3.-----%f",self.audioPlayer.duration);
}