internal StreamFocusStateChangedEventArgs(AudioStreamFocusOptions options,
                                           AudioStreamFocusState focusState, AudioStreamFocusChangedReason reason, string extraInfo)
 {
     FocusOptions = options;
     FocusState   = focusState;
     Reason       = reason;
     ExtraInfo    = extraInfo;
 }
 internal AudioStreamPolicyFocusStateChangedEventArgs(AudioStreamFocusOptions options,
                                                      AudioStreamFocusState state, AudioStreamFocusChangedReason reason,
                                                      AudioStreamBehaviors behaviors, string extraInfo)
 {
     FocusOptions = options;
     FocusState   = state;
     Reason       = reason;
     Behaviors    = behaviors;
     ExtraInfo    = extraInfo;
 }
Exemplo n.º 3
0
        /// <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");
        }
Exemplo n.º 4
0
 internal static extern AudioManagerError AddFocusStateWatchCallback(AudioStreamFocusOptions focusMask,
                                                                     FocusStateWatchCallback callback, IntPtr userData, out int id);
Exemplo n.º 5
0
 internal static extern AudioManagerError ReleaseFocus(AudioStreamPolicyHandle streamInfo,
                                                       AudioStreamFocusOptions focusMask, AudioStreamBehaviors audioStreamBehavior, string extraInfo);
Exemplo n.º 6
0
        internal static bool IsValid(this AudioStreamFocusOptions value)
        {
            int mask = (int)(AudioStreamFocusOptions.Playback | AudioStreamFocusOptions.Recording);

            return((mask & (int)value) != 0);
        }