Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • 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

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
  • 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.