場景我正在研究使用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秒。 –