AVAudioPlayer uygulamasına oynatma ilerleme çubuğu eklemek için herhangi bir öğreticinin bağlantısı olan var mı?avaudioplayer oynatma ilerlemesi
Ben boşuna
AVAudioPlayer uygulamasına oynatma ilerleme çubuğu eklemek için herhangi bir öğreticinin bağlantısı olan var mı?avaudioplayer oynatma ilerlemesi
Ben boşuna
için bu sitedeki ve google yoğun aradık ben bunu anladım ve çok kötü değildi.
Sadece
playbackTimer=[NSTimer scheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(myMethod:)
userInfo:nil
repeats:YES];
}
-(void)myMethod:(NSTimer*)timer {
float total=audioPlayer.duration;
float f=audioPlayer.currentTime/total;
NSString *str = [NSString stringWithFormat:@"%f", f];
playbackProgress.progress=f;
NSLog(str);
}
periyodik zaman gözlemci ekle Bir zamanlayıcı güncellemek ve kaydırıcı güncelleme - Swift içinde böyle olacak -
func addPlayBackSlider()
{
playbackSlider = UISlider(frame:CGRect(x:10, y:300, width:300, height:20))
playbackSlider?.minimumValue = 0
let duration : CMTime = playerItem.asset.duration
let seconds : Float64 = CMTimeGetSeconds(duration)
playbackSlider?.maximumValue = Float(seconds)
playbackSlider?.isContinuous = true
//If you want to manually set progressBar
playbackSlider?.addTarget(self, action: #selector(AddAudioController.playbackSliderValueChanged(_:)), for: .valueChanged)
//Here is the Observer
player!.addPeriodicTimeObserver(forInterval: CMTimeMakeWithSeconds(1, 1), queue: DispatchQueue.main) { (CMTime) -> Void in
if self.player!.currentItem?.status == .readyToPlay {
let time : Float64 = CMTimeGetSeconds(self.player!.currentTime());
self.playbackSlider!.value = Float (time);
}
}
}
//If you want to manually set progressBar
func playbackSliderValueChanged(_ playbackSlider:UISlider)
{
let seconds : Int64 = Int64(playbackSlider.value)
targetTime = CMTimeMake(seconds, 1)
print(targetTime)
player!.seek(to: targetTime)
if player!.rate == 0
{
player?.play()
playButton!.setTitle("Pause", for: UIControlState.normal)
}
}
Umut bu yardımcı olur :) – Shawon91
bir ekleme periyodik zaman gözlemcisi maalesef AVAudioPlayer için değil, AVPlayer için çalışıyor. –