Как получить точную временную позицию прямой трансляции в avplayer

Я использую AVPlayer для воспроизведения потокового видео. Этот поток поддерживает одночасовое догоняние, что означает, что пользователь может искать час назад и играть. Но у меня есть один вопрос, как узнать точное положение, которое играет игрок. Мне нужно отобразить текущую позицию на экране плеера. Например, если пользователь играет полчаса назад, тогда отображается -30: 00; если пользователь воспроизводит последний контент, игрок будет показывать 00:00 или жить. благодаря

2 Solutions collect form web for “Как получить точную временную позицию прямой трансляции в avplayer”

Чтобы получить живое положение яда и искать его, вы можете с помощью seekableTimeRanges AVPlayerItem :

 CMTimeRange seekableRange = [player.currentItem.seekableTimeRanges.lastObject CMTimeRangeValue]; CGFloat seekableStart = CMTimeGetSeconds(seekableRange.start); CGFloat seekableDuration = CMTimeGetSeconds(seekableRange.duration); CGFloat livePosition = seekableStart + seekableDuration; [player seekToTime:CMTimeMake(livePosition, 1)]; 

Также, когда вы ищете некоторое время назад, вы можете получить текущую позицию игры, вызвав метод currentTime

 CGFloat current = CMTimeGetSeconds([self.player.currentItem currentTime]); GCFloat diff = livePosition - current; 

Быстрое решение:

  override func getLiveDuration() -> Float { var result : Float = 0.0; if let items = player.currentItem?.seekableTimeRanges { if(!items.isEmpty) { let range = items[items.count - 1] let timeRange = range.timeRangeValue let startSeconds = CMTimeGetSeconds(timeRange.start) let durationSeconds = CMTimeGetSeconds(timeRange.duration) result = Float(startSeconds + durationSeconds) } } return result; } 
  • Файл m3u8 для iPhone - как сохранить его локально для воспроизведения позже
  • Потоковая передача HTTP с использованием шифрования
  • Вставка временных метаданных в HLS (HTTP Live Stream) с использованием id3taggenerator и mediafilesegmenter
  • AVPlayer, создающий посторонний HTTP-запрос до воспроизведения HLS / AES-зашифрованного видео
  • Реализация потоковой передачи HTTP в iOS
  • Потоковое аудио: HTTP Live Streaming необходимо для одобрения магазина приложений?
  • Можно ли получить текущую дату HTTP-потока, который воспроизводится через AirPlay?
  • AVPlayer не может отправить файл cookie для того же домена после перенаправления 302
  • MPMoviePlayerController - как узнать, какой биттрейт играет?
  • Как разбирать файл M3U8 в Objective C?
  • Как реализовать HTTP-потоковый сервер в Unix?
  • HTTP Прямая трансляция длительностью менее 10 секунд?
  • Interesting Posts

    Горизонтальная прокрутка UICollectoinView с интервалом между элементами

    как получить все UILabels в UIView

    Нечетное поведение автоматического прокрутки / перехода в Chrome (iOS) при переходе на следующую страницу

    Включая заголовки ARC в проект без ARC

    Игровой центр GKTurnBasedMatch проблемы с свойством matchData

    Прокрутить пользовательский UITableViewCell прямо над клавиатурой?

    Ячейки скрыты с помощью CollectionView

    Использование UIScrollView UIKit с помощью SpriteKit

    Получить авторизацию пользователя в ALWAYS Read Geolocation

    Почему я не должен подклассифицировать UIButton?

    iOS Core bluetooth получить описание всех функций с устройства

    Скрыть кнопку центральной панели вкладок при нажатой панели представлений HidesBottomBarWhenPushed

    Как мы можем копировать видеофайл из библиотеки в каталог документов?

    Как включить звуковой скруббер в панели управления iOS Lock Screen?

    значок приложения в реальном времени, как часы iOS 7

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.