예제 #1
0
        private void OnVolumeChanged(object sender, VolumeDataEventArgs data)
        {
            List <AudioSession> sessions = GetSessions();
            float newVolume = ((float)data.Volume / 100);

            if (newVolume > 1)
            {
                newVolume = 1;
            }
            if (newVolume < 0)
            {
                newVolume = 0;
            }
            foreach (AudioSession session in sessions)
            {
                if ((Math.Abs(session.Session.SimpleAudioVolume.MasterVolume - newVolume) > .10) || (session.Session.SimpleAudioVolume.Mute != data.Mute))
                {
                    session.Session.SimpleAudioVolume.Mute         = data.Mute;
                    session.Session.SimpleAudioVolume.MasterVolume = newVolume;
                }
                handler.AddHandler(session.Session);
            }
            if (isListening)
            {
                if (handler.Handler.HasListeners)
                {
                    if (sender != this)
                    {
                        handler.Handler.RaiseEvent(this, data);
                    }
                }
            }
        }
예제 #2
0
        //public int OnDisplayNameChanged(string NewDisplayName, Guid EventContext)
        //{
        //    return 0;
        //}

        ////public int OnIconPathChanged(string NewIconPath, Guid eventContext)
        //{
        //    return 0;
        //}

        public int OnSimpleVolumeChanged(float NewVolume, bool newMute, Guid eventContext)
        {
            if (VolumeChanged != null)
            {
                VolumeDataEventArgs data = new VolumeDataEventArgs((int)(NewVolume * 100), newMute, eventContext);
                RaiseEvent(this, data);
            }
            return(0);
        }
예제 #3
0
 public void RaiseEvent(object sender, VolumeDataEventArgs data)
 {
     if (sender != null && data != null)
     {
         VolumeChangedEventHandler onVolumeChanged = VolumeChanged;
         if (onVolumeChanged != null)
         {
             onVolumeChanged(sender, data);
         }
     }
 }