我从流媒体服务器获取此清单。
#EXTM3U
#EXT-X-VERSION:1
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:NO
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-KEY:METHOD=AES-128,URI="***"
#EXT-X-PROGRAM-DATE-TIME:2016-12-24T12:30:00.000+00:00
#EXTINF:10,
EPISODE_266160_256k_4_122445000000_00000000_v2.ts
#EXT-X-PROGRAM-DATE-TIME:2016-12-24T12:30:09.752+00:00
...
EPISODE_266160_256k_4_122446638399_00000168_v2.ts
#EXT-X-PROGRAM-DATE-TIME:2016-12-24T12:57:28.152+00:00
#EXTINF:10,
EPISODE_266160_256k_4_122446648152_00000169_v2.ts
#EXT-X-ENDLIST
如您所见,12:30:00到12:57:28之间的时差是27:32秒。尽管如此,AVItemPlayer.duration和Quicktime播放器显示28:13秒。最后一个块不提供日期时间,因为在10秒之前被截断,这是目标持续时间。
在现实生活中,当我在没有中断的情况下播放流时,持续时间为27:32。但是如果我在时间线上寻找,它会增加到28:13。
我在时间轴中显示了一些标记,这导致它们处于错误的位置。你知道为什么玩家可以计算不正确的持续时间以及如何解决它吗?