2016-04-05 6 views
0

Ich habe den folgenden Code, um zu versuchen die Zeit meiner Audio-Datei vergangen zu zeigen:Zeit in AVPlayer verstrichene zeigt seltsame Zahlen in schnellen

func updateTime() { 
    let currentTime = Int(player!.currentTime().value) 
    let minutes = currentTime/60 
    print(minutes) 
    let seconds = currentTime - minutes * 60 
    print(seconds) 
    time.text = NSString(format: "%02d:%02d", minutes,seconds) as String 
} 

Der Timer in diesem Code in Sicht gesetzt Last tat:

play.play() 

    timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(.updateTime), userInfo: nil, repeats: true) 

Es werden Nummern im Etikett angezeigt, aber sie sind völlig zufällig, also keine Anzeige von Sekunden und Minuten. Was mache ich hier falsch? Ist es die Art, wie ich die aktuelle Zeit bekomme?

+1

% d ist für Ganzzahlen. Sieht aus wie Sie mit Double/NSTimeInterval arbeiten oder Float –

+0

http://stackoverflow.com/a/30772571/2303865 –

+0

die Zahlen, die ich bin immer sind wie folgt aus: 15.980.621, 39, 32.657.959, 34, 49.332.843, 18, 65.981.395, 17, 82.654.148, 33, 99.314.348, 47, 115.990.088, 56, 132.647.323, 8, 149.315.021, 16, – kangarooChris

Antwort

0

änderte ich diese Zeile:

let currentTime = Int(player!.currentTime().value)/Int(player!.currentTime().timescale) 

Ich habe keine Ahnung, warum dies funktioniert, aber es funktioniert der Trick!