Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AV基金会报告球员项目持续时间不正确_Ios_Avfoundation_Http Live Streaming_Zencoder - Fatal编程技术网

Ios AV基金会报告球员项目持续时间不正确

Ios AV基金会报告球员项目持续时间不正确,ios,avfoundation,http-live-streaming,zencoder,Ios,Avfoundation,Http Live Streaming,Zencoder,我试图在iOS上播放一段视频,使用的是用zencoder编码的AVPlayer。我看到的问题是,玩家项目报告的持续时间是四舍五入/不精确的。例如,视频持续时间可能为173.134,播放器项将报告为平坦174.0。这会导致检测加载百分比和其他相关内容时出现问题。如果我尝试使用视频而不进行编码,则所有内容都会正确、准确地报告 有没有其他人见过这个问题或有解决办法?我也有同样的问题。我只是比较当前位置和项目持续时间之间的差异以及1秒: - (void)playing:(CMTime)time {

我试图在iOS上播放一段视频,使用的是用zencoder编码的AVPlayer。我看到的问题是,玩家项目报告的持续时间是四舍五入/不精确的。例如,视频持续时间可能为173.134,播放器项将报告为平坦174.0。这会导致检测加载百分比和其他相关内容时出现问题。如果我尝试使用视频而不进行编码,则所有内容都会正确、准确地报告


有没有其他人见过这个问题或有解决办法?

我也有同样的问题。我只是比较当前位置和项目持续时间之间的差异以及1秒:

- (void)playing:(CMTime)time
{
   CMTime itemDuration = _player.currentItem.asset.duration;
   NSTimeInterval currentTime = CMTimeGetSeconds(time);
   NSTimeInterval duration = CMTimeGetSeconds(itemDuration);
   if (fabs(currentTime - duration) < 1)
      // This is the end.
}
-(void)播放:(CMTime)时间
{
CMTime itemDuration=\u player.currentItem.asset.duration;
NSTimeInterval currentTime=CMTimeGetSeconds(时间);
NSTimeInterval duration=CMTimeGetSeconds(itemDuration);
if(晶圆厂(当前时间-持续时间)<1)
//结束了。
}

问题原来是源视频/zencoder的问题。音频曲目的长度与视频稍有不同,这导致了编码问题。切断视频的最后一秒,以便曲目持续时间匹配,从而修复了该问题。

如果您专门查找视频何时播放到最后,则应改用AVPlayerItemDidPlayToEndTime通知。