Ich nehme mit AVAudioRecorder auf, pausiere es dann, drucke die aktuelleTime aus, halte sie an und schließe sie.AVAudioRecorder und AVAudioPlayer Audio haben unterschiedliche Länge
Wenn ich das Audio wiedergeben und die Dauer davon drucken, ist es immer anders als die aktuelle Zeit.
Wie ist das möglich? Ich mache nichts mit dem Audio, nachdem ich es pausiert habe, außer es zu speichern. Wie ist die Länge unterschiedlich?
recorder.pause()
print(recorder.currentTime) //e.g. 1.14
recorder.stop()
print(Manager.getAudioFileLength(url)) //e.g. 1.31
do {
try player = AVAudioPlayer(contentsOfURL: url)
}
catch let error as NSError {
NSLog("error: \(error)")
}
print(player.duration) //e.g. 1.25
Und in Manager
class Manager {
static func getAudioFileLength(url : NSURL) -> Float64 {
let audioAsset = AVURLAsset(URL: url)
let audioDuration = audioAsset.duration
let audioDurationSeconds = CMTimeGetSeconds(audioDuration)
return audioDurationSeconds
}
}
Bitte zeigen Sie Ihren Code, damit wir sehen können, wenn Sie irgendwelche Probleme haben, wie es implementiert wird, können wir keine Probleme mit dem, was Sie tun, wenn wir nicht sehen, was Sie getan haben, sehen? – Scriptable
"duration" ist übrigens in iOS 9 veraltet. Wie auch immer ... das ist interessant, aber was ist dein Standpunkt? Wie vergleicht 'playableDuration' (auch veraltet)? –