В настоящее время я работаю над приложением проигрывателя. Мне нужно продолжить воспроизведение без сетевого сценария, воспроизводя буферизованные данные (проигрыватель заботится). У нас есть три ключевых наблюдателя (" PlayBufferEmpty ", " PlayLikelyToKeepUp"," PlayBufferFull"), который уведомит нас о наличии свободного буфера и возможности игрока продолжить игру. При отсутствии сети AVPlayer начал воспроизводить локально буферизованные данные. Когда мы переходим на определенную позицию, тогда игрок также играет, если буфер доступен.
Проблема не в сетевом случае, даже если буфер доступен, и если я вызываю API seekToTime , тогда игрок дает неправильное значение. Сначала он показывает «bufferEmpty» и «notlikelytoKeepUp», и снова он дает доступный буфер и «Вероятно, KeepUp». Мы попытались решить эту проблему, используя loadedTimeRanges , но это работает только для VOD-контента, а для прямой трансляции время запуска всегда равно нулю. Если кто-то сталкивался с той же проблемой или имеет знания по этому поводу, пожалуйста, помогите нам. Было бы более полезно, если бы я получил некоторые ссылки на форуме.