/// <summary> /// Sets the playback rate. /// </summary> /// <param name="rate">The value for the playback rate. Valid range is -5.0 to 5.0, inclusive.</param> /// <remarks> /// <para>The player must be in the <see cref="PlayerState.Ready"/>, <see cref="PlayerState.Playing"/>, /// or <see cref="PlayerState.Paused"/> state.</para> /// <para>The sound will be muted, when the playback rate is under 0.0 or over 2.0.</para> /// </remarks> /// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception> /// <exception cref="InvalidOperationException"> /// The player is not in the valid state.<br/> /// -or-<br/> /// Streaming playback. /// </exception> /// <exception cref="ArgumentOutOfRangeException"> /// <paramref name="rate"/> is less than 5.0.<br/> /// -or-<br/> /// <paramref name="rate"/> is greater than 5.0.<br/> /// -or-<br/> /// <paramref name="rate"/> is zero. /// </exception> /// <since_tizen> 3 </since_tizen> public void SetPlaybackRate(float rate) { if (rate < -5.0F || 5.0F < rate || rate == 0.0F) { throw new ArgumentOutOfRangeException(nameof(rate), rate, "Valid range is -5.0 to 5.0 (except 0.0)"); } ValidatePlayerState(PlayerState.Ready, PlayerState.Playing, PlayerState.Paused); NativePlayer.SetPlaybackRate(Handle, rate).ThrowIfFailed(this, "Failed to set the playback rate."); }