class Player

Defined at line 5208 of file fidling/gen/sdk/fidl/fuchsia.media.sessions2/fuchsia.media.sessions2/hlcpp/fuchsia/media/sessions2/cpp/fidl.h

`Player` is a handle for a media player. Unsupported commands are

no-ops. Consult `PlaybackCapabilities`, sent by to learn which

commands are supported.

Public Methods

void ~Player ()
void Play ()

Plays media. If this method is not supported as indicated by the absence of the `PLAY`

flag in `PlayerCapabilities`, this method does nothing.

void Pause ()

Pauses playback and retains position in media. If this method is not supported as indicated

by the absence of the `PAUSE` flag in `PlayerCapabilities`, this method does nothing.

void Stop ()

Stops playback. The session should close.

void Seek (int64_t position)

Seeks to a specific position in media. Implementations are free to

enter an error state if the position is out of bounds. `position`

is an offset from the beginning of the media. If this method is not supported as indicated

by the absence of the `SEEK` flag in `PlayerCapabilities`, this method does nothing.

void SkipForward ()

Skips forward in media by the player's default skip amount. If this method is not supported

as indicated by the absence of the `SKIP_FORWARD` flag in `PlayerCapabilities`, this method

does nothing.

void SkipReverse ()

Skips in reverse in media by the player's default skip amount. If this method is not

supported as indicated by the absence of the `SKIP_REVERSE` flag in `PlayerCapabilities`,

this method does nothing.

void NextItem ()

Changes media to the next item (e.g. next song in playlist). If this method is not

supported as indicated by the absence of the `CHANGE_TO_NEXT_ITEM` flag in

`PlayerCapabilities`, this method does nothing.

void PrevItem ()

Changes media to the previous item. If this method is not

supported as indicated by the absence of the `CHANGE_TO_PREV_ITEM` flag in

`PlayerCapabilities`, this method does nothing.

void SetPlaybackRate (float playback_rate)

Sets the playback rate of the media. This will not change the playback mode. If this method

is not supported as indicated by the absense of the `SET_PLAYBACK_RATE` flag in

`PlayerCapabilities`, this method does nothing.

void SetRepeatMode (::fuchsia::media::sessions2::RepeatMode repeat_mode)

Sets repeat mode to any of the supported repeat modes.

Whether this method takes effect depends on the `PlayerCapabilities` and `repeat_mode`:

* [`OFF`] is always supported.

* [`GROUP`] requires the `REPEAT_GROUPS` capability, and is otherwise ignored.

* [`SINGLE`] requires the `REPEAT_SINGLE` capability, and is otherwise ignored.

void SetShuffleMode (bool shuffle_on)

Sets shuffle mode. If this method is not supported as indicated by the absence of the

`SHUFFLE` flag in `PlayerCapabilities`, this method does nothing.

void BindVolumeControl (::fidl::InterfaceRequest< ::fuchsia::media::audio::VolumeControl> volume_control_request)

Binds to the session's volume control for control and notifications. If this method is not

supported as indicated by the absence of the `HAS_GAIN_CONTROL` flag in

`PlayerCapabilities`, the channel handle passed as `volume_control_request` is closed

by the service.

void WatchInfoChange (WatchInfoChangeCallback callback)

Gets the net player info change using the hanging get pattern.