gpt4 book ai didi

ios - Objective-C:在不损失精度的情况下将 float 转换为 int64_t

转载 作者:行者123 更新时间:2023-11-29 12:12:08 28 4
gpt4 key购买 nike

场景 我正在开发一个应用程序,该应用程序使用 RTPlayer 从我们的服务器播放预先录制的视频和音频。

嫌疑人 RTPlayer 有两个有用的属性; .initialPlaybackTime.currentPosition 用于计算媒体时间位置(以秒为单位)。 .initialPlaybackTime 设置播放器应该从媒体中的哪个位置开始播放,而 .currentPosition 告诉您您在媒体中的相同位置停止播放的位置。

问题 .initialPlaybackTime 属性是int64_t 类型,.currentPosition 类型> float 。当我将 .currentPosition 值“插入”到 .initialPlaybackTime 时,总是有大约 8-10 秒 ADDED 到玩家的位置。

问题 如何将 .currentPosition float 值转换为 int64_t 并保持相同的值?

最佳答案

“8-10 秒被添加到玩家的位置”可能与底层有关 HTTP Live Streaming (HLS) technology .

如果您正在播放的媒体是流媒体,它很可能符合这项技术,如果是这样,将被分成几个较小的媒体 block (我的经验是视频的长度通常约为 15 秒)在各种比特率。

在这种情况下,除非 initialPlaybackTime 设置为与这些媒体片段之一的开始时间一致的值,否则播放器可能只是使用最近的媒体片段并跳转到该片段的开头(常见做法)或下一个片段(如果它接近当前片段的末尾)以减少在不播放的情况下加载完整片段的媒体数据。

关于ios - Objective-C:在不损失精度的情况下将 float 转换为 int64_t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33133902/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com