Ejemplo n.º 1
0
 public VolumeControl(SimpleAudioVolume simpleVol)
 {
     getVolume = () => simpleVol.MasterVolume;
     setVolume = (volume) => simpleVol.MasterVolume = volume;
     isMuted = () => simpleVol.Mute;
     setMuted = (mute) => simpleVol.Mute = mute;
 }
        internal AudioSessionControl2(IAudioSessionControl2 realAudioSessionControl2)
        {
            _AudioSessionControl2 = realAudioSessionControl2;

            IAudioMeterInformation _meters = _AudioSessionControl2 as IAudioMeterInformation;
            ISimpleAudioVolume _volume = _AudioSessionControl2 as ISimpleAudioVolume;
            if (_meters != null) _AudioMeterInformation = new CoreAudio.AudioMeterInformation(_meters);
            if (_volume != null) _SimpleAudioVolume = new SimpleAudioVolume(_volume);

            _AudioSessionEvents = new AudioSessionEvents(this);
            Marshal.ThrowExceptionForHR(_AudioSessionControl2.RegisterAudioSessionNotification(_AudioSessionEvents));
        }
Ejemplo n.º 3
0
        public AudioSessionControl(IAudioSessionControl audioSessionControl)
        {
            _audioSessionControl  = audioSessionControl;
            _audioSessionControl2 = audioSessionControl as IAudioSessionControl2;

            //if (_audioSessionControl2 == null)
            //    throw new InvalidOperationException("Not supported on this version of Windows");

            if (_audioSessionControl is ISimpleAudioVolume simpleVolume)
            {
                _simpleAudioVolume = new SimpleAudioVolume(simpleVolume);
            }
        }
        internal AudioSessionControl(IAudioSessionControl realAudioSessionControl)
        {
            IAudioMeterInformation _meters = realAudioSessionControl as IAudioMeterInformation;
            ISimpleAudioVolume     _volume = realAudioSessionControl as ISimpleAudioVolume;

            if (_meters != null)
            {
                _AudioMeterInformation = new CoreAudio.AudioMeterInformation(_meters);
            }
            if (_volume != null)
            {
                _SimpleAudioVolume = new SimpleAudioVolume(_volume);
            }
            _AudioSessionControl = realAudioSessionControl;

            //_AudioSessionEvents = new AudioSessionEvents(this);
            Marshal.ThrowExceptionForHR(_AudioSessionControl.RegisterAudioSessionNotification(_AudioSessionEvents));
        }
Ejemplo n.º 5
0
        public AudioSessionControl2(IAudioSessionControl2 realAudioSessionControl2)
        {
            _AudioSessionControl2 = realAudioSessionControl2;

            if (_AudioSessionControl2 is IAudioMeterInformation _meters)
            {
                _AudioMeterInformation = new AudioMeterInformation(_meters);
            }

            if (_AudioSessionControl2 is ISimpleAudioVolume _volume1)
            {
                _SimpleAudioVolume = new SimpleAudioVolume(_volume1);
            }

            //IAudioVolumeLevel _volume2 = _AudioSessionControl2 as IAudioVolumeLevel;
            //if (_volume2 != null) _AudioVolumeLevel = new AudioVolumeLevel(_volume2);

            _AudioSessionEvents = new AudioSessionEvents(this);
            Marshal.ThrowExceptionForHR(_AudioSessionControl2.RegisterAudioSessionNotification(_AudioSessionEvents));
        }