Ejemplo n.º 1
0
        public ReturnValue ConfigureJackDeviceData(CAudioDataFlow dataFlow, CAudioDriverReadWrite readWrite, CAudioClientData clientData)
        {
            ReturnValue revData = new ReturnValue()
            {
                RevCode = -1, RevMessage = $"API Name [{clientData.ApiName}] not Correct!"
            };
            CAudioAPIFunctionPoint sdkAPI;

            if (!Enum.TryParse(clientData.ApiName, out sdkAPI))
            {
                return(revData);
            }
            if (readWrite == CAudioDriverReadWrite.Write &&
                clientData.SetValue == null && clientData.SetExtraValue == null)
            {
                revData.RevMessage = "SetValue Can't be Null";
                return(revData);
            }

            CAudioStructure      rwData   = null;
            CAudioJackDeviceInfo jackInfo = null;

            jackInfo = _cmediaJackInfoRender;
            if (dataFlow == CAudioDataFlow.eCapture || sdkAPI > CAudioAPIFunctionPoint.VOICECLARITY_NOISESUPP_LEVEL)
            {
                jackInfo = _cmediajackInfoCapture;
            }
            rwData = new CAudioStructure()
            {
                JackInfo = jackInfo, ApiPropertyName = clientData.ApiName, ReadWrite = readWrite, WriteData = clientData.SetValueToByteArray(), WriteExtraData = clientData.SetExtraValueToByteArray()
            };
            if (clientData.SetValue != null || clientData.SetExtraValue != null)
            {
                rwData.IsWriteExtra = true;
            }
            revData = ConfigurePropertyControl(rwData);
            return(revData);
        }
Ejemplo n.º 2
0
        public ReturnValue ConfitureSurroundData(CAudioDriverReadWrite readWrite, CAudioSurroundCommand hpCommand)
        {
            ReturnValue revData = new ReturnValue()
            {
                RevCode = -1, RevMessage = $"[{hpCommand}] not Correct!"
            };
            CAudioStructure         rwData = null;
            CAudioRegisterOperation regop  = new CAudioRegisterOperation();

            switch (hpCommand)
            {
            case CAudioSurroundCommand.XEAR_SURR_HP_ENABLE:
                regop.Operation = CAudioSurroundFunction.KSPROPERTY_VIRTUALSURROUND_PARAMSVALUE;
                regop.Feature   = CAudioSurroundCommand.XEAR_SURR_HP_ENABLE;
                regop.ValueType = CAudioSurroundValueType.ValueType_LONG;
                break;

            case CAudioSurroundCommand.XEAR_SURR_HP_MODE:
                regop.Operation = CAudioSurroundFunction.KSPROPERTY_VIRTUALSURROUND_PARAMSVALUE;
                regop.Feature   = CAudioSurroundCommand.XEAR_SURR_HP_MODE;
                regop.ValueType = CAudioSurroundValueType.ValueType_LONG;
                break;

            case CAudioSurroundCommand.XEAR_SURR_HP_ROOM:
                regop.Operation = CAudioSurroundFunction.KSPROPERTY_VIRTUALSURROUND_PARAMSVALUE;
                regop.Feature   = CAudioSurroundCommand.XEAR_SURR_HP_ROOM;
                regop.ValueType = CAudioSurroundValueType.ValueType_LONG;
                break;
            }
            rwData = new CAudioStructure()
            {
                JackInfo  = _cmediaJackInfoRender, ApiPropertyName = CAudioAPIFunctionPoint.VirtualSurroundEffectControl.ToString(),
                ReadWrite = readWrite, WriteData = null, IsWriteExtra = true, WriteExtraData = regop.ToBytes()
            };
            revData = ConfigurePropertyControl(rwData);
            return(revData);
        }
Ejemplo n.º 3
0
 public static extern int CMI_PropertyControl(CAudioDeviceInfo info, string propertyName, IntPtr value, IntPtr extraData, CAudioDriverReadWrite driverRW);