예제 #1
0
        public static SPPMessage SetEqualizer(bool enable, EqPreset preset, bool dolbyMode)
        {
            //Dolby mode has no effect on the Buds+
            if (BluetoothService.Instance.ActiveModel == Model.Buds)
            {
                int rawPreset = (int)preset;
                if (!dolbyMode)
                {
                    rawPreset += 5;
                }

                byte[] payload = new byte[2];
                payload[0] = Convert.ToByte(enable);
                payload[1] = (byte)rawPreset;
                return(new SPPMessage(SPPMessage.MessageIds.MSG_ID_EQUALIZER,
                                      SPPMessage.MsgType.Request, payload));
            }
            else
            {
                byte[] payload = new byte[1];
                payload[0] = !enable ? (byte)0 : Convert.ToByte(preset + 1);
                return(new SPPMessage(SPPMessage.MessageIds.MSG_ID_EQUALIZER,
                                      SPPMessage.MsgType.Request, payload));
            }
        }
예제 #2
0
        public static async Task SetEqualizer(bool enable, EqPreset preset, bool dolbyMode)
        {
            // Dolby mode has no effect on the Buds+/Live/Pro
            if (BluetoothImpl.Instance.ActiveModel == Models.Buds)
            {
                int rawPreset = (int)preset;
                if (!dolbyMode)
                {
                    rawPreset += 5;
                }

                byte[] payload = new byte[2];
                payload[0] = Convert.ToByte(enable);
                payload[1] = (byte)rawPreset;
                await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.EQUALIZER, payload);
            }
            else
            {
                byte[] payload = new byte[1];
                payload[0] = !enable ? (byte)0 : Convert.ToByte(preset + 1);
                await BluetoothImpl.Instance.SendRequestAsync(SPPMessage.MessageIds.EQUALIZER, payload);
            }
        }