public static IWavePlayer InstanciateWavePlayerForOutput(OutputDeviceModel SelectedOutput, int desiredLatency, AudioClientShareMode shareMode, bool useWaveEvent) { switch (SelectedOutput.Provider) { case DeviceProvider.Wave: { if (useWaveEvent) { return new WaveOutEvent() { DeviceNumber = SelectedOutput.WavDeviceNumber, DesiredLatency = desiredLatency } } ; else { return new WaveOut() { DeviceNumber = SelectedOutput.WavDeviceNumber, DesiredLatency = desiredLatency } }; } case DeviceProvider.DirectSound: return(new DirectSoundOut(SelectedOutput.DirectSoundDeviceInfo.Guid, desiredLatency)); case DeviceProvider.Wasapi: return(new WasapiOut(SelectedOutput.MMDevice, shareMode, useEventSync, desiredLatency)); } return(new DirectSoundOut(DirectSoundOut.DSDEVID_DefaultVoicePlayback, desiredLatency)); }
private void InitializeOutputDevices() { OutputList.Clear(); if (ShowAdvancedControls) { foreach (var device in DirectSoundOut.Devices) { OutputList.Add(new OutputDeviceModel(device)); } } if (ShowAdvancedControls) { for (int n = 0; n < WaveOut.DeviceCount; n++) { var capabilities = WaveOut.GetCapabilities(n); OutputList.Add(new OutputDeviceModel(n, capabilities)); } } foreach (var device in MMDevices.deviceEnum.EnumerateAudioEndPoints(DataFlow.Render, DeviceState.Active).ToList()) { var model = new OutputDeviceModel(device); OutputList.Add(model); } }
public MasterSessionModelTests() { this.mVolumeNotifMock = new Mock <IMasterVolumeNotificationHandler>(); var sVolumeMock = new Mock <IAudioSessionVolume>(); this.model = new MasterSessionModel("speakers", "speakers", 70, false, new BitmapImage(), sVolumeMock.Object, mVolumeNotifMock.Object); this.deviceStateMock = new Mock <IDeviceStateNotificationHandler>(); this.iDeviceMock = new Mock <IDevice>(); this.iDeviceMock.Setup(m => m.GetId()).Returns("111"); this.deviceOwner = new OutputDeviceModel(this.iDeviceMock.Object, this.deviceStateMock.Object, new Mock <ISessionProvider>().Object, this.model, new ObservableCollection <AudioSessionModel>()); }
public OutputDeviceModelTests() { var master = MasterSessionModelTests.GetMasterMock(deviceName, 70, false, new BitmapImage()); var sessions = new ObservableCollection <AudioSessionModel>(); sessions.Add(AudioSessionModelTests.GetSessionMock("app", 50, false)); this.deviceMock = new Mock <IDevice>(); this.deviceMock.Setup(m => m.GetId()).Returns(deviceId); this.deviceStateMock = new Mock <IDeviceStateNotificationHandler>(); this.sProviderMock = new Mock <ISessionProvider>(); this.model = new OutputDeviceModel(deviceMock.Object, deviceStateMock.Object, sProviderMock.Object, master, sessions); }
public DeviceProviderTests() { var iDeviceEnumMock = new Mock <IDeviceEnumerator>(); deviceStateNotifMock = new Mock <IDeviceStateNotificationHandler>(); defaultDevice = OutputDeviceModelTests.GetDeviceMock("111", "speakers", this.deviceStateNotifMock.Object); var device = OutputDeviceModelTests.GetDeviceMock("123", "device", this.deviceStateNotifMock.Object); var devices = new List <OutputDeviceModel> { defaultDevice, device }; iDeviceEnumMock.Setup(m => m.GetCurrentActiveDevices(deviceStateNotifMock.Object)).Returns(devices); iDeviceEnumMock.Setup(m => m.GetDefaultDeviceId()).Returns(defaultDevice.Id); model = GetDeviceProviderMock(iDeviceEnumMock.Object, deviceStateNotifMock.Object); }