/// <summary> /// Removes the subtitle path. /// </summary> /// <remarks>The player must be in the <see cref="PlayerState.Idle"/> state.</remarks> /// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception> /// <exception cref="InvalidOperationException">The player is not in the valid state.</exception> /// <since_tizen> 3 </since_tizen> public void ClearSubtitle() { ValidatePlayerState(PlayerState.Idle); NativePlayer.SetSubtitlePath(Handle, null). ThrowIfFailed(this, "Failed to clear the subtitle of the player"); }
/// <summary> /// Sets the subtitle path for playback. /// </summary> /// <remarks>Only MicroDVD/SubViewer(*.sub), SAMI(*.smi), and SubRip(*.srt) subtitle formats are supported. /// <para>The mediastorage privilege(http://tizen.org/privilege/mediastorage) must be added if any files are used to play located in the internal storage. /// The externalstorage privilege(http://tizen.org/privilege/externalstorage) must be added if any files are used to play located in the external storage.</para> /// </remarks> /// <exception cref="ObjectDisposedException">The player has already been disposed of.</exception> /// <exception cref="ArgumentException"><paramref name="path"/> is an empty string.</exception> /// <exception cref="FileNotFoundException">The specified path does not exist.</exception> /// <exception cref="ArgumentNullException"><paramref name="path"/> is null.</exception> /// <since_tizen> 3 </since_tizen> public void SetSubtitle(string path) { ValidateNotDisposed(); if (path == null) { throw new ArgumentNullException(nameof(path)); } if (path.Length == 0) { throw new ArgumentException("The path is empty.", nameof(path)); } if (!File.Exists(path)) { throw new FileNotFoundException($"The specified file does not exist.", path); } NativePlayer.SetSubtitlePath(Handle, path). ThrowIfFailed(this, "Failed to set the subtitle path to the player"); }