Ejemplo n.º 1
0
 /// <inheritdoc cref="Command.ReportAudioStatus"/>
 /// <param name="device">The device.</param>
 /// <param name="destination">The destination address.</param>
 /// <param name="status">The audio mute status.</param>
 /// <param name="value">The audio volume [0-127].</param>
 /// <returns>A <see cref="CecMessage"/> object representing the command.</returns>
 public static CecMessage ReportAudioStatus(this CecDevice device, LogicalAddress destination, AudioMuteStatus status, int value)
 {
     return(CecMessageBuilder.ReportAudioStatus(device.LogicalAddress, destination, status, value));
 }
Ejemplo n.º 2
0
        /// <inheritdoc cref="Command.ReportAudioStatus"/>
        /// <param name="source">The <c>CecMessage</c> source.</param>
        /// <param name="destination">The <c>CecMessage</c> destination.</param>
        /// <param name="status">The status.</param>
        /// <param name="value">The value.</param>
        /// <returns>A <c>CecMessage</c> that represents the command.</returns>
        /// <exception cref="System.ArgumentException">Value must be between 0 and 127 (inclusive). - value</exception>
        public static CecMessage ReportAudioStatus(LogicalAddress source, LogicalAddress destination, AudioMuteStatus status, int value)
        {
            if (!value.InRange(0, 127))
            {
                throw new ArgumentException("Value must be between 0 and 127 (inclusive).", nameof(value));
            }

            var args = Convert.ToByte(status) | Convert.ToByte(value);

            return(new CecMessage(source, destination, Command.ReportAudioStatus, ByteArrayHelper.ToByteArray(args, "X2")));
        }