internal AudioStreamPolicyFocusStateChangedEventArgs(AudioStreamFocusOptions options, AudioStreamFocusState state, AudioStreamFocusChangedReason reason, AudioStreamBehaviors behaviors, string extraInfo) { FocusOptions = options; FocusState = state; Reason = reason; Behaviors = behaviors; ExtraInfo = extraInfo; }
/// <summary> /// Releases the acquired focus. /// </summary> /// <param name="options">The focus mask that you want to release.</param> /// <param name="behaviors">The requesting behaviors.</param> /// <param name="extraInfo">The extra information for this request. This value can be null.</param> /// <exception cref="ArgumentException"><paramref name="options"/> is zero.</exception> /// <exception cref="ArgumentOutOfRangeException"> /// <paramref name="options"/> contain a invalid bit.<br/> /// -or-<br/> /// <paramref name="behaviors"/> contain a invalid bit. /// </exception> /// <exception cref="InvalidOperationException">The focus has not been acquired.</exception> /// <exception cref="ObjectDisposedException">The <see cref="AudioStreamPolicy"/> has already been disposed of.</exception> /// <since_tizen> 3 </since_tizen> public void ReleaseFocus(AudioStreamFocusOptions options, AudioStreamBehaviors behaviors, string extraInfo) { if (options == 0) { throw new ArgumentException("options can't be zero.", nameof(options)); } if (options.IsValid() == false) { throw new ArgumentOutOfRangeException(nameof(options), options, "options contains a invalid bit."); } if (behaviors.IsValid() == false) { throw new ArgumentOutOfRangeException(nameof(behaviors), behaviors, "behaviors contains a invalid bit."); } Interop.AudioStreamPolicy.ReleaseFocus(Handle, options, behaviors, extraInfo). ThrowIfError("Failed to release focus"); }
internal static extern AudioManagerError ReleaseFocus(AudioStreamPolicyHandle streamInfo, AudioStreamFocusOptions focusMask, AudioStreamBehaviors audioStreamBehavior, string extraInfo);
internal static bool IsValid(this AudioStreamBehaviors value) { int mask = (int)(AudioStreamBehaviors.NoResume | AudioStreamBehaviors.Fading); return(((~mask) & (int)value) == 0); }