示例#1
0
        public override async Task <ToggleMuteReply> ToggleMute(ToggleMuteRequest request, ServerCallContext context)
        {
            var result = await InteropService.ToggleMute();

            return(new ToggleMuteReply()
            {
                Muted = result
            });
        }
        public override Task <ToggleMuteReply> ToggleMute(ToggleMuteRequest request, ServerCallContext context)
        {
            Log.Info("Executing [{Name}]", nameof(ToggleMute));
            var muteState = SimpleAudioManager.GetMasterVolumeMute();

            try
            {
                SimpleAudioManager.SetMasterVolumeMute(!muteState);
                return(Task.FromResult(new ToggleMuteReply()
                {
                    Muted = !muteState
                }));
            }
            catch (Exception e)
            {
                Log.Error(e, "ToggleMute failed.");
                SimpleAudioManager.SetMasterVolumeMute(!muteState);
                return(Task.FromResult(new ToggleMuteReply()
                {
                    Muted = muteState
                }));
            }
        }