场景我正在研究使用RTPlayer从我们的服务器播放预先录制的视频和音频的应用程序。Objective-C:将浮点数转换为int64_t,不会造成精确损失
可疑 RTPlayer有2个有用的属性; .initialPlaybackTime
和.currentPosition
,用于计算以秒为单位的媒体时间位置。 .initialPlaybackTime
设置媒体播放器应从哪里开始播放,而.currentPosition
则告诉您在什么地方继续播放媒体中的相同位置。
问题的.initialPlaybackTime
属性是int64_t
型的,并且是.currentPosition
float
类型。当我将“.currentPosition
”值“插入”.initialPlaybackTime
时,总是会有8-10秒加到到玩家的位置。
问题我怎么能转换.currentPosition
float
值到int64_t
,并保持相同的值?
你确定'currentPosition'没有错吗?最好给出一个float值的例子,然后在你的问题中输出int64_t值。如果这些值是秒,浮点数和int64_t应该是最好的6位数字,而不会损失任何精度。我怀疑“currentPosition”比你认为出于某种原因的地方晚了8-10秒。 –