Есть ли способ отличить живой поток от потока файлов по требованию с помощью AVPlayer? - PullRequest
2 голосов
/ 12 июля 2011

Я пытаюсь создать более универсальный контроллер мультимедиа для нескольких типов потокового мультимедиа и хочу адаптировать интерфейс пользователя к типу потока;

  • Когда это поток файлов по запросут. е. один файл MP3, который передается в потоковом режиме), вы сможете искать вперед и назад.Таким образом, ползунок поиска должен быть видимым.
  • Когда это прямой эфир, поиск не возможен вперед и назад, и, таким образом, ползунок поиска должен быть скрыт.Есть ли способ определить из AVPlayer (или, возможно, AVPlayerItem или AVAsset), какой тип потока?

Ответы [ 2 ]

4 голосов
/ 23 декабря 2016

Продолжительность живого видео составляет неопределенный :

AVPlayer * player = ...;
const BOOL isLive = CMTIME_IS_INDEFINITE([player currentItem].duration);

Вы должны проверять длительность только тогда, когда статус элемента AVPlayerItem равен AVPlayerItemStatusReadyToPlay.

1 голос
/ 15 сентября 2011

Похоже, что это невозможно.

Однако можно проверить продолжительность живого потока, который, по-видимому, постоянно превышает 33000 секунд. Однако это значение все еще колеблется, и проверка на это нежелательна, поскольку это может вызвать неожиданное поведение.

...