I'm creating an app for playing a ringtone and I'd want to know the current time in milliseconds of the played ringtone every time.
CMTime cTime = player_.currentTime; float currentTime = cTime.value / cTime.timescale;
That currentTime here gets the value in seconds. How can I get the exact currentTime value but in milliseconds?
There is a way to get current times in seconds, you can take 1000 times that and ther you have your miliseconds:
Float64 dur = CMTimeGetSeconds([player currentTime]);
Float64 durInMiliSec = 1000*dur;
Sadly you will have to use it as a float
or Float64
you can't use that result as a CMTime
I think that the accepted answer loses detail. A more accurate way to get milliseconds would be the following:
let seconds : Double = Float64(time.value * 1000) / Float64(time.timescale)
If you convert to seconds first you'd lose precision.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With