Я играю в прямом эфире в приложении iOS, которое я разрабатываю. Я использую MPMoviePlayerController и вам необходимо создать настраиваемые элементы управления (воспроизведение, пауза, индикатор выполнения и т. Д.).MPMoviePlayerController: получение надежного non-skipping currentPlaybackTime
При попытке получить 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 секунд. Я предполагаю, что я ничего не могу с этим поделать. –
Это звучит как неправильно закодированные данные - очень внимательно проверяйте поток фильмов и его кодировку. – Till
У меня такая же проблема: я называю «setCurrentPlaybackTime», тогда я получаю «currentPlaybackTime», как я его устанавливал, затем он возвращается к предыдущему значению. Это так раздражает поведение. Удивительно, что Apple не решила эту проблему должным образом. – bashan