【发布时间】:2013-07-26 10:01:49
【问题描述】:
我正在开发的 iOS 应用中播放电视直播。我正在使用 MPMoviePlayerController,需要创建自定义控件(播放、暂停、进度条等)。
在尝试获取 currentPlaybackTime 时,我注意到一些非常奇怪的行为:它像没有明天一样跳来跳去。
持续时间属性稳定在 7170 秒,它永远不会改变。 playableDuration 属性随着电影的播放而增长,并且 currentPlaybackTime 不断地跳来跳去:
playableDuration: 7179.875398
currentPlaybackTime: 7170.181204
--------------
playableDuration: 7187.655396
currentPlaybackTime: 7171.079373
--------------
playableDuration: 7197.208128
currentPlaybackTime: 7172.131998
--------------
playableDuration: 7197.208128
currentPlaybackTime: 7173.139118
--------------
playableDuration: 7197.208128
currentPlaybackTime: 7174.139770
--------------
playableDuration: 7197.208128
currentPlaybackTime: 7175.139666
--------------
playableDuration: 7197.208128
currentPlaybackTime: 7176.140805
--------------
playableDuration: 7197.208128
currentPlaybackTime: 7177.139057
--------------
playableDuration: 7197.208128
currentPlaybackTime: 7178.139128
--------------
playableDuration: 7197.208128
currentPlaybackTime: 7179.139911
--------------
playableDuration: 7199.822063
currentPlaybackTime: 7170.095921
--------------
playableDuration: 7209.959997
currentPlaybackTime: 7171.140078
--------------
playableDuration: 7209.959997
currentPlaybackTime: 7172.140715
--------------
playableDuration: 7209.959997
currentPlaybackTime: 7173.076899
--------------
playableDuration: 7209.959997
currentPlaybackTime: 7174.139497
--------------
playableDuration: 7209.959997
currentPlaybackTime: 7175.139907
--------------
playableDuration: 7209.959997
currentPlaybackTime: 7176.138233
--------------
playableDuration: 7209.959997
currentPlaybackTime: 7177.139523
--------------
playableDuration: 7209.959997
currentPlaybackTime: 7178.135736
--------------
playableDuration: 7209.959997
currentPlaybackTime: 7179.138545
--------------
playableDuration: 7209.959997
currentPlaybackTime: 7180.111102
--------------
playableDuration: 7219.939398
currentPlaybackTime: 7171.132859
--------------
playableDuration: 7219.939398
currentPlaybackTime: 7172.128591
--------------
playableDuration: 7219.939398
currentPlaybackTime: 7173.136137
--------------
playableDuration: 7219.939398
currentPlaybackTime: 7174.135416
--------------
playableDuration: 7219.939398
currentPlaybackTime: 7175.137593
--------------
playableDuration: 7219.939398
currentPlaybackTime: 7176.131573
--------------
playableDuration: 7219.939398
currentPlaybackTime: 7177.137812
--------------
playableDuration: 7219.939398
currentPlaybackTime: 7178.131751
--------------
playableDuration: 7219.939398
currentPlaybackTime: 7179.135922
--------------
playableDuration: 7219.939398
currentPlaybackTime: 7180.139828
--------------
playableDuration: 7229.752731
currentPlaybackTime: 7171.129731
--------------
playableDuration: 7229.752731
currentPlaybackTime: 7172.136576
--------------
playableDuration: 7229.752731
currentPlaybackTime: 7173.132362
--------------
playableDuration: 7229.752731
currentPlaybackTime: 7174.139998
如您所见,它从 7179 跳到 7170,然后从 7180 跳回 7171,一次又一次……换句话说,似乎没有办法获得稳定递增的 currentPlaybackTime。这导致我的进度条跳来跳去,进度标签(0:04:30 / 2:00:00)也表现得非常奇怪。
有人见过这种行为吗?有解决办法吗?
【问题讨论】:
-
我实际上看到与本机 MPMoviePlayerViewController 完全相同的行为。经过的时间每 10 秒跳回一次。我猜我对此无能为力。
-
这听起来像是错误编码的数据 - 请仔细检查您的电影流及其编码。
-
我有同样的问题:我调用“setCurrentPlaybackTime”,然后在设置时得到“currentPlaybackTime”,然后它跳回之前的值。这是非常烦人的行为。令人惊讶的是,Apple 没有妥善解决这个问题。
标签: ios cocoa-touch mpmovieplayercontroller