Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • Serverless Integrations
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Yandex Cloud Video
    • Overview
    • Control
      • Overview
        • Getting started
          • Environment
          • PictureInPictureController
          • VideoSurface
          • YaPlayer
    • Browser autoplay policy
  • Access management
  • Pricing policy
  • Audit Trails events
  • Release notes
  • Troubleshooting

In this article:

  • Contents
  • Discussion
  • State monitoring
  • Properties
  • Methods
  • Examples
  1. Video Player
  2. SDK
  3. iOS
  4. CloudVideoPlayer
  5. YaPlayer

YaPlayer

Written by
Yandex Cloud
Updated at May 28, 2026
View in Markdown
  • Contents
  • Discussion
  • State monitoring
  • Properties
  • Methods
  • Examples
public final class YaPlayer

Main player object for video content playback.

ContentsContents

  • Properties
  • Methods

DiscussionDiscussion

YaPlayer manages the full playback lifecycle: source loading, start, pause, rewind/fast forward, audio management, and speed.

Create instances via Environment/player().

State monitoringState monitoring

Use Combine publishers to respond to state changes.

PropertiesProperties

Name Type Description
currentSource ContentIdEndpoint? Current playback source.

MethodsMethods

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

Sets a playback source with additional telemetry parameters.


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

Sets a playback source.


public func reset()

Resets the current source and stops playback.


public func play()

Starts playback.


public func pause()

Pauses playback.


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

Rewinds/fast forwards to a specified position.

Parameters:

  • time: Target position.

Returns: true if rewind/fast forward is successful.


public func set(isMute: Bool)

Enables or disables audio.

Parameters:

  • isMute: true to mute, false to unmute.

public func set(volume: Float)

Sets volume level.

Parameters:

  • volume: Volume level from 0.0 (silence) to 1.0 (maximum).

public func set(playbackSpeed: PlaybackSpeed) throws

Sets playback speed.

Parameters:

  • playbackSpeed: Desired playback speed.

Throws: Error if the specified speed is not supported for the current content.


public func canSet(playbackSpeed: PlaybackSpeed) -> Bool

Checks whether current content supports the specified playback speed.

Parameters:

  • playbackSpeed: Speed to check.

Returns: true if the speed is available for the current content.

ExamplesExamples

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

// Connecting a surface for content
let surface = VideoSurface()
surface.attach(player: player)

// Setting a source and starting playback
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)

Was the article helpful?

Previous
VideoSurface
Next
PlayerError
© 2026 Direct Cursus Technology L.L.C.