template <>

class NaturalClientImpl

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

Public Methods

::fit::result< ::fidl::OneWayError> Play ()

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

flag in `PlayerCapabilities`, this method does nothing.

::fit::result< ::fidl::OneWayError> 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.

::fit::result< ::fidl::OneWayError> Stop ()

Stops playback. The session should close.

::fit::result< ::fidl::OneWayError> Seek (const ::fidl::Request< ::fuchsia_media_sessions2::PlayerControl::Seek> & request)

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.

::fit::result< ::fidl::OneWayError> 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.

::fit::result< ::fidl::OneWayError> 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.

::fit::result< ::fidl::OneWayError> 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.

::fit::result< ::fidl::OneWayError> 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.

::fit::result< ::fidl::OneWayError> SetPlaybackRate (const ::fidl::Request< ::fuchsia_media_sessions2::PlayerControl::SetPlaybackRate> & request)

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.

::fit::result< ::fidl::OneWayError> SetRepeatMode (const ::fidl::Request< ::fuchsia_media_sessions2::PlayerControl::SetRepeatMode> & request)

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.

::fit::result< ::fidl::OneWayError> SetShuffleMode (const ::fidl::Request< ::fuchsia_media_sessions2::PlayerControl::SetShuffleMode> & request)

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

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

::fit::result< ::fidl::OneWayError> BindVolumeControl (::fidl::Request< ::fuchsia_media_sessions2::PlayerControl::BindVolumeControl> 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.