要获得AVPlayerItem
我可以做的持续时间:player.currentItem.duration
。
而不是这个,我也可以从后端获得Int
的持续时间。然后我可以将其转换为Float
,以便在需要持续时间的任何地方使用。我认为这在性能方面可能会更好,而在我的工作中可以减少工作时间。
例如,Apple说这是关于获取持续时间的:
“AV基金会的一个重要概念是初始化资产或资产 跟踪并不一定意味着它可以使用。有可能 需要一些时间来计算一个项目的持续时间(MP3 例如,文件可能不包含摘要信息)。而不是 你问,在计算一个值时阻塞当前线程 对于值并通过回调异步获得答案 您使用块定义。“
如果我决定通过从服务器获取持续时间来硬编码持续时间,那么对于可能出错的事情的想法?这是好习惯吗?
答案 0 :(得分:1)
如果您已经知道后端的价值,并且您已经打电话说要获取视频网址,则检索持续时间似乎是一个合理的想法。
虽然 - 是否有任何不匹配的可能性?如果您这样做,客户端就可以保证"保证"是正确的。
如果您必须拨打特殊电话才能获得它,我不会因为在资产初始化期间确定它所花费的时间长得多。