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); }
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); }
public static extern int CMI_PropertyControl(CAudioDeviceInfo info, string propertyName, IntPtr value, IntPtr extraData, CAudioDriverReadWrite driverRW);