Как получить точную временную позицию прямой трансляции в 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; } 
  • Мониторинг потокового видео в реальном времени с использованием IP-адреса, порта и кривентистов
  • ios - потоковая передача HTTP-потоком (HLS) - снижение продолжительности цели, выбор начального потока и отладка
  • Можно ли получить текущую дату HTTP-потока, который воспроизводится через AirPlay?
  • MPMoviePlayerController - как узнать, какой биттрейт играет?
  • изменение файла m3u8 динамически во время выполнения (iOS)
  • Потоковая передача HTTP с использованием шифрования
  • Файл m3u8 для iPhone - как сохранить его локально для воспроизведения позже
  • Может ли RTSP (протокол потокового вещания) использоваться для отправки потокового видеопотока с iPhone на медиа-сервер?
  • Как создать проигрыватель RTMP / RTSP с помощью FFMpeg для ios
  • Как сделать потоковое видео с устройства iOS с помощью wowza-сервера
  • Как играть в локальные файлы M3u8 на iOS через GCDWebServer
  • Interesting Posts

    Почему некоторые строки показаны с кавычками в массиве, а некоторые без?

    WatchKit Как создать пользовательский файл Localizable.strings?

    Лучший способ передачи данных между viewcontrollers (данные кэша) в MonoTouch

    Как сделать функции обратного вызова iOS?

    Включение UIButton с использованием Reactive Cocoa RACSignal

    Верхняя панель заголовка с положением, закрепленным на iOS chrome, перемещается, когда вы прокручиваете

    Пользовательская аннотация MKViewMap исчезает при нажатии

    Невозможно вытолкнуть собственный контроллер вида из интерактивного щелчка

    как разобрать xml для разработки ios

    Синхронизированная горизонтальная прокрутка представлений коллекции в строках таблицы

    Изменение поля поля поиска UISearchBar

    Как разрешить пользователю просматривать / выбирать файл с устройства в iOS

    Xamarin iOS – переход к следующему текстовому полю с ключом возврата

    iOS OpenGL с использованием параметров glTexImage2D для создания UIImage?

    UIImage PNG окраска

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