Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Cloud Desktop
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Video
RU
    • Обзор
    • Управление
      • Обзор
        • Начало работы
          • Environment
          • PictureInPictureController
          • VideoSurface
          • YaPlayer
    • Политика автозапуска браузеров
  • Управление доступом
  • Правила тарификации
  • Аудитные логи Audit Trails
  • История изменений
  • Решение проблем

В этой статье:

  • Содержание
  • Описание
  • Мониторинг состояния
  • Свойства
  • Методы
  • Примеры
  1. Видеоплеер
  2. SDK
  3. iOS
  4. CloudVideoPlayer
  5. YaPlayer

YaPlayer

Статья создана
Yandex Cloud
Обновлена 1 октября 2026 г.
Открыть в Markdown
  • Содержание
  • Описание
  • Мониторинг состояния
  • Свойства
  • Методы
  • Примеры
public final class YaPlayer

Основной объект плеера для воспроизведения видеоконтента.

СодержаниеСодержание

На этой странице:

  • Свойства
  • Методы

ОписаниеОписание

YaPlayer управляет воспроизведением: загрузкой источника, запуском, паузой, перемоткой, звуком и скоростью.

Чтобы создать экземпляр плеера, вызовите метод player() структуры Environment.

Мониторинг состоянияМониторинг состояния

Чтобы отслеживать изменения состояния плеера, подпишитесь на события с помощью Combine. Методы подписки возвращают объекты PlayerPublisher, которые передают новые значения подписчикам. Пример подписки приведен в разделе Отслеживание состояния плеера.

Во всех методах подписки параметр queue задает очередь доставки событий. По умолчанию используется главная очередь .main.

СвойстваСвойства

Имя

Тип

Описание

currentSource

ContentIdEndpoint?

Текущий источник воспроизведения.

vsid

String

Идентификатор сессии просмотра (View Session ID).

status

PlayerStatus

Текущее состояние плеера.

watchedTime

Time

Суммарное время просмотра текущего контента с момента последней установки источника.

currentTime

Time?

Текущая позиция воспроизведения.

duration

Time?

Общая длительность контента.

remainingBufferedTime

Time?

Длительность буферизованного фрагмента, начиная с текущей позиции воспроизведения.

bufferTimeRanges

[Range<Time>]

Буферизованные диапазоны времени.

seekableTimeRanges

[Range<Time>]

Доступные для перемотки диапазоны времени.

isMuted

Bool?

Текущее состояние звука.

volume

Float?

Текущий уровень громкости от 0.0 до 1.0.

videoType

VideoType?

Тип воспроизводимого контента.

onAir

Bool

true, если воспроизведение находится на правой границе шкалы времени трансляции — в прямом эфире.

latency

TimeInterval

Текущая задержка воспроизведения относительно прямого эфира, в секундах.

targetLatency

TimeInterval

Целевая задержка воспроизведения относительно прямого эфира, в секундах.

playbackSpeed

PlaybackSpeed

Текущая скорость воспроизведения.

МетодыМетоды

public func set<AdditionalParams: Encodable>(source endpoint: ContentIdEndpoint, config: PlaybackConfig, additionalParams: AdditionalParams)

Устанавливает источник воспроизведения с дополнительными параметрами телеметрии.


public func set(source endpoint: ContentIdEndpoint, config: PlaybackConfig = .base)

Устанавливает источник воспроизведения.


public func reset()

Сбрасывает текущий источник и останавливает воспроизведение.


public func play()

Запускает воспроизведение.


public func pause()

Ставит воспроизведение на паузу.


public func seek(to time: Time) async -> Bool

Перематывает воспроизведение на указанную позицию.

Параметры:

  • time — целевая позиция.

Возвращаемое значение: true, если перемотка выполнена успешно.


public func set(isMute: Bool)

Включает или отключает звук.

Параметры:

  • isMute: true — выключить звук, false — включить.

public func set(volume: Float)

Устанавливает уровень громкости.

Параметры:

  • volume — уровень громкости от 0.0 (тишина) до 1.0 (максимум).

public func set(playbackSpeed: PlaybackSpeed) throws

Устанавливает скорость воспроизведения.

Параметры:

  • playbackSpeed — желаемая скорость воспроизведения.

Исключения: ошибка, если заданная скорость не поддерживается для текущего контента.


public func canSet(playbackSpeed: PlaybackSpeed) -> Bool

Проверяет, поддерживает ли текущий контент заданную скорость воспроизведения.

Параметры:

  • playbackSpeed — скорость для проверки.

Возвращаемое значение: true, если скорость доступна для текущего контента.


public func playerStatusDidChange(queue: DispatchQueue = .main) -> PlayerPublisher<PlayerStatus>

Возвращает объект PlayerPublisher для отслеживания изменений состояния плеера.


public func bufferTimeRangesDidChange(queue: DispatchQueue = .main) -> PlayerPublisher<[Range<Time>]>

Возвращает объект PlayerPublisher для отслеживания изменений буферизованных диапазонов.


public func seekableTimeRangeDidChange(queue: DispatchQueue = .main) -> PlayerPublisher<[Range<Time>]>

Возвращает объект PlayerPublisher для отслеживания изменений диапазонов, доступных для перемотки.


public func periodicTimePublisher(interval: TimeInterval, queue: DispatchQueue = .main) -> PlayerPublisher<TimeInterval>

Возвращает объект PlayerPublisher для периодического получения позиции воспроизведения.

Параметры:

  • interval — интервал обновления позиции воспроизведения в секундах.

public func isMutedDidChange(queue: DispatchQueue = .main) -> PlayerPublisher<Bool>

Возвращает объект PlayerPublisher для отслеживания изменений состояния звука.


public func volumeDidChange(queue: DispatchQueue = .main) -> PlayerPublisher<Float>

Возвращает объект PlayerPublisher для отслеживания изменений уровня громкости.


public func errorDidDetected(queue: DispatchQueue = .main) -> PlayerPublisher<PlayerError>

Возвращает объект PlayerPublisher для получения ошибок воспроизведения.


public func goToLive() async throws

Перемещает позицию воспроизведения на правую границу шкалы времени трансляции — к прямому эфиру.

Исключения: ошибка, если операция невозможна, например при воспроизведении видео по запросу (VOD).


public func playbackSpeedDidChange(queue: DispatchQueue = .main) -> PlayerPublisher<PlaybackSpeed>

Возвращает объект PlayerPublisher для отслеживания изменений скорости воспроизведения.

ПримерыПримеры

let environment = Environment(configuration: Configuration(from: From(raw: "my-app")))
let player = environment.player()

// Подключить поверхность для отображения
let surface = VideoSurface()
surface.attach(player: player)

// Установить источник и начать воспроизведение
if let source = ContentIdEndpoint(url: URL(string: "https://runtime.video.cloud.yandex.net/player/...")!) {
  player.set(source: source, config: PlaybackConfig(autoplay: true, isMuted: false))
}
player.playerStatusDidChange()
  .sink { status in
    switch status {
      case .play:      showPlayButton(false)
      case .pause:     showPlayButton(true)
      case .buffering: showSpinner(true)
      case .fatal:     showErrorScreen()
      default:         break
    }
  }
  .store(in: &cancellables)

Была ли статья полезна?

Предыдущая
VideoSurface
Следующая
PlayerError
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»