protected virtual void Dispose(bool disposing) { if (disposing) { System.Dispose(); AudioDeviceDriver.Dispose(); FileSystem.Dispose(); Memory.Dispose(); } }
protected virtual void Dispose(bool disposing) { if (disposing) { ConfigurationState.Instance.Hid.InputConfig.Event -= Hid.RefreshInputConfigEvent; System.Dispose(); Host1x.Dispose(); AudioDeviceDriver.Dispose(); FileSystem.Unload(); Memory.Dispose(); } }
private void Awake() { var inputDeviceList = AudioDeviceDriver.InputDeviceList.Select(device => device.DeviceName).ToList(); _microphoneControlView.UpdateSelectDropdown(inputDeviceList); _microphoneControlView.CurrentDevice .SkipLatestValueOnSubscribe() .Subscribe(device => { if (_inputStream != null) { _inputStream.OnProcessFrame -= OnProcessFrame; } _inputStream = AudioDeviceDriver.GetInputDevice(device); _loopbackAudioOut.StartOutput(_inputStream.ChannelCount, _inputStream.SampleRate); _inputStream.OnProcessFrame += OnProcessFrame; }) .AddTo(this); _microphoneControlView.LoopbackIsActive .SkipLatestValueOnSubscribe() .Subscribe(loopback => { if (loopback) { _loopbackAudioOut.StartOutput(_inputStream.ChannelCount, _inputStream.SampleRate); } else { _loopbackAudioOut.StopOutput(); } }) .AddTo(this); }