### Method

# RB Player play

#### Declaration [src]

    gboolean
    rb_player_play (
      RBPlayer* player,
      RBPlayerPlayType play_type,
      gint64 crossfade,
      GError** error
    )

#### Description [src]

Starts playback of the most recently opened stream. if `play_type` is #RB_PLAYER_PLAY_CROSSFADE, the player may attempt to crossfade the new stream with any existing streams. If it does this, the it will use `crossfade` as the duration of the fade.

If `play_type` is #RB_PLAYER_PLAY_AFTER_EOS, the player may attempt to start the stream immediately after the current playing stream reaches EOS. This may or may not result in the phenomemon known as ‘gapless playback’.

If `play_type` is #RB_PLAYER_PLAY_REPLACE, the player will stop any existing stream before starting the new stream. It may do this anyway, regardless of the value of `play_type`.

The ‘playing-stream’ signal will be emitted when the new stream is actually playing. This may be before or after control returns to the caller.

#### Parameters

`play_type`

  Type: `RBPlayerPlayType`

  Requested playback start type.

`crossfade`

  Type: `gint64`

  Requested crossfade duration (nanoseconds).

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.

#### Return value

Type: `gboolean`

`TRUE` if playback started successfully.