/// <summary> /// Sets the <see cref="MediaControlCapabilitySupport"/> indicating whether subtitle mode is supported or not. /// </summary> /// <param name="support">A value indicating whether the subtitle mode is supported or not.</param> /// <exception cref="InvalidOperationException"> /// The server is not running .<br/> /// -or-<br/> /// An internal error occurs. /// </exception> /// <exception cref="ArgumentException"><paramref name="support"/> is invalid.</exception> /// <since_tizen> 6 </since_tizen> public static void SetSubtitleModeCapability(MediaControlCapabilitySupport support) { ValidationUtil.ValidateEnum(typeof(MediaControlCapabilitySupport), support, nameof(support)); Native.SetSimpleCapability(Handle, MediaControlNativeCapabilityCategory.Subtitle, support). ThrowIfError("Failed to set subtitle mode capability."); }
/// <summary> /// Sets the capabilities by <see cref="MediaControlPlaybackCommand"/>. /// </summary> /// <param name="action">A playback command.</param> /// <param name="support">A value indicating whether the <paramref name="action"/> is supported or not.</param> /// <exception cref="InvalidOperationException"> /// The server is not running .<br/> /// -or-<br/> /// An internal error occurs. /// </exception> /// <exception cref="ArgumentException"><paramref name="action"/> or <paramref name="support"/> is invalid.</exception> /// <since_tizen> 5 </since_tizen> public static void SetPlaybackCapability(MediaControlPlaybackCommand action, MediaControlCapabilitySupport support) { ValidationUtil.ValidateEnum(typeof(MediaControlPlaybackCommand), action, nameof(action)); ValidationUtil.ValidateEnum(typeof(MediaControlCapabilitySupport), support, nameof(support)); Native.SetPlaybackCapability(Handle, action.ToNative(), support).ThrowIfError("Failed to set playback capability."); Native.SaveAndNotifyPlaybackCapabilityUpdated(Handle).ThrowIfError("Failed to update playback capability."); }
/// <summary> /// Sets the <paramref name="rotation"/> is supported or not. /// </summary> /// <remarks> /// <see cref="MediaControlCapabilitySupport.NotDecided"/> is not allowed in display rotation capability.<br/> /// The default value of each <see cref="Rotation"/> is not supported. /// </remarks> /// <param name="rotation">The <see cref="Rotation"/>.</param> /// <param name="support">A value indicating whether the <paramref name="rotation"/> is supported or not..</param> /// <exception cref="InvalidOperationException"> /// The server is not running .<br/> /// -or-<br/> /// An internal error occurs. /// </exception> /// <exception cref="ArgumentException"><paramref name="rotation"/> or <paramref name="support"/> is invalid.</exception> /// <since_tizen> 6 </since_tizen> public static void SetDisplayRotationCapability(Rotation rotation, MediaControlCapabilitySupport support) { ValidationUtil.ValidateEnum(typeof(Rotation), rotation, nameof(rotation)); ValidationUtil.ValidateEnum(typeof(MediaControlCapabilitySupport), support, nameof(support)); if (support == MediaControlCapabilitySupport.NotDecided) { throw new ArgumentException($"NotDecided is not allowed in {rotation} capability."); } Native.SetDisplayRotationCapability(Handle, (uint)rotation.ToNative(), support). ThrowIfError("Failed to set display rotation capability."); }
/// <summary> /// Sets the <paramref name="mode"/> is supported or not. /// </summary> /// <remarks> /// <see cref="MediaControlCapabilitySupport.NotDecided"/> is not allowed in display mode capability.<br/> /// The default value of each <see cref="MediaControlDisplayMode"/> is not supported. /// </remarks> /// <param name="mode">The <see cref="MediaControlDisplayMode"/>.</param> /// <param name="support">A value indicating whether the <paramref name="mode"/> is supported or not.</param> /// <exception cref="InvalidOperationException"> /// The server is not running .<br/> /// -or-<br/> /// An internal error occurs. /// </exception> /// <exception cref="ArgumentException"><paramref name="mode"/> or <paramref name="support"/> is invalid.</exception> /// <since_tizen> 6 </since_tizen> public static void SetDisplayModeCapability(MediaControlDisplayMode mode, MediaControlCapabilitySupport support) { ValidationUtil.ValidateEnum(typeof(MediaControlDisplayMode), mode, nameof(mode)); ValidationUtil.ValidateEnum(typeof(MediaControlCapabilitySupport), support, nameof(support)); if (support == MediaControlCapabilitySupport.NotDecided) { throw new ArgumentException($"NotDecided is not allowed in {mode} capability."); } Native.SetDisplayModeCapability(Handle, (uint)mode.ToNative(), support). ThrowIfError("Failed to set display mode capability."); }
internal static extern MediaControllerError GetSimpleCapability(MediaControllerClientHandle clientHandle, string serverName, MediaControlCapabilityCategory category, out MediaControlCapabilitySupport type);
internal static extern MediaControllerError IsCapabilitySupported(IntPtr capaHandle, MediaControllerNativePlaybackAction action, out MediaControlCapabilitySupport support);
internal void RaiseRepeatModeCapabilityUpdatedEvent(MediaControlCapabilitySupport support) { RepeatModeCapabilityUpdated?.Invoke(this, new RepeatModeCapabilityUpdatedEventArgs(support)); }
internal void RaiseShuffleModeCapabilityUpdatedEvent(MediaControlCapabilitySupport support) { ShuffleModeCapabilityUpdated?.Invoke(this, new ShuffleModeCapabilityUpdatedEventArgs(support)); }
/// <summary> /// Sets the content type of latest played media. /// </summary> /// <param name="support">A value indicating whether the <see cref="MediaControlRepeatMode"/> is supported or not.</param> /// <exception cref="InvalidOperationException"> /// The server is not running .<br/> /// -or-<br/> /// An internal error occurs. /// </exception> /// <exception cref="ArgumentException"><paramref name="support"/> is invalid.</exception> /// <since_tizen> 5 </since_tizen> public static void SetRepeatModeCapability(MediaControlCapabilitySupport support) { ValidationUtil.ValidateEnum(typeof(MediaControlCapabilitySupport), support, nameof(support)); Native.SetRepeatModeCapability(Handle, support).ThrowIfError("Failed to set shuffle mode capability."); }
/// <summary> /// Initializes a new instance of the <see cref="RepeatModeCapabilityUpdatedEventArgs"/> class. /// </summary> /// <param name="support">The repeat mode capabilities.</param> /// <exception cref="ArgumentException"><paramref name="support"/> is not valid.</exception> /// <since_tizen> 5 </since_tizen> public RepeatModeCapabilityUpdatedEventArgs(MediaControlCapabilitySupport support) { ValidationUtil.ValidateEnum(typeof(MediaControlCapabilitySupport), support, nameof(support)); Support = support; }
internal static extern MediaControllerError SetSimpleCapability(IntPtr serverHandle, MediaControlNativeCapabilityCategory category, MediaControlCapabilitySupport support);
internal static extern MediaControllerError SetDisplayRotationCapability(IntPtr serverHandle, uint rotations, MediaControlCapabilitySupport support);
internal static extern MediaControllerError SetPlaybackCapability(IntPtr serverHandle, MediaControllerNativePlaybackAction action, MediaControlCapabilitySupport support);
internal static extern MediaControllerError GetRepeatCapability(MediaControllerClientHandle clientHandle, string serverName, out MediaControlCapabilitySupport type);
internal static extern MediaControllerError SetRepeatModeCapability(IntPtr serverHandle, MediaControlCapabilitySupport support);