class PlayerControl
Defined at line 4607 of file fidling/gen/sdk/fidl/fuchsia.media.sessions2/fuchsia.media.sessions2/hlcpp/fuchsia/media/sessions2/cpp/fidl.h
Controls for a media player. `PlayerCapabilities` expresses which of the methods in this
protocol are supported by the player. Because capabilties are dynamic, and a client cannot
always know what capabilities will be supported when the method call reaches the service,
calling a method that is not supported is simply ignored. In general, clients should not
expect methods to work unless the player indicates sustained support.
Public Methods
void ~PlayerControl ()
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.