diff --git a/JianGongYun/TRTC/LiveClassroom.cs b/JianGongYun/TRTC/LiveClassroom.cs index 9d64b45..fd7f8b9 100644 --- a/JianGongYun/TRTC/LiveClassroom.cs +++ b/JianGongYun/TRTC/LiveClassroom.cs @@ -114,14 +114,7 @@ namespace JianGongYun.TRTC } lTXDeviceManager.setCurrentDeviceVolume(TRTCDeviceType.TXMediaDeviceTypeMic, settingWindowViewModel.MicVolume);//麦克风采集音量 lTRTCCloud.setSystemAudioLoopbackVolume(settingWindowViewModel.SytemGatherVolume);//系统声音采集音量 - if (settingWindowViewModel.AudioSource == "2") - { - lTRTCCloud.startSystemAudioLoopback(null); - } - else - { - lTRTCCloud.stopSystemAudioLoopback(); - } + //设备完结 //liveWinMode.LoadAllScreen(); @@ -367,6 +360,24 @@ namespace JianGongYun.TRTC lTRTCCloud.stopAudioRecording(); } } + public static void EnableAudio() + { + if (settingWindowViewModel.AudioSource == "1") + { + lTRTCCloud.muteLocalAudio(false); + lTRTCCloud.stopSystemAudioLoopback(); + } + else if (settingWindowViewModel.AudioSource == "2") + { + lTRTCCloud.muteLocalAudio(true); + lTRTCCloud.startSystemAudioLoopback(null); + } + else if (settingWindowViewModel.AudioSource == "3") + { + lTRTCCloud.muteLocalAudio(false); + lTRTCCloud.startSystemAudioLoopback(null); + } + } /// /// 关闭麦克风 /// @@ -390,7 +401,17 @@ namespace JianGongYun.TRTC if (liveWinMode.MicRunning) { liveWinMode.MicMute = mute.HasValue ? mute.Value : !liveWinMode.MicMute; - lTRTCCloud.muteLocalAudio(liveWinMode.MicMute); + if (liveWinMode.MicMute) + { + lTRTCCloud.muteLocalAudio(true); + lTRTCCloud.stopSystemAudioLoopback(); + + } + else + { + EnableAudio(); + } + //lTRTCCloud.muteLocalAudio(liveWinMode.MicMute); } } diff --git a/JianGongYun/TRTC/ViewModels/SettingWindowViewModel.cs b/JianGongYun/TRTC/ViewModels/SettingWindowViewModel.cs index b1da095..914b988 100644 --- a/JianGongYun/TRTC/ViewModels/SettingWindowViewModel.cs +++ b/JianGongYun/TRTC/ViewModels/SettingWindowViewModel.cs @@ -173,12 +173,12 @@ namespace JianGongYun.TRTC.ViewModels if (_AudioSource == "1")//只采集麦克风,关闭系统音采集 { ShowSytemGatherSlider = Visibility.Collapsed; - LiveClassroom.lTRTCCloud.stopSystemAudioLoopback(); + //LiveClassroom.lTRTCCloud.stopSystemAudioLoopback(); } - else if (_AudioSource == "2")//麦和系统音,开启采集系统音 + else if (_AudioSource == "2" || _AudioSource == "3")//麦和系统音,开启采集系统音 { ShowSytemGatherSlider = Visibility.Visible; - LiveClassroom.lTRTCCloud.startSystemAudioLoopback(null); + //LiveClassroom.lTRTCCloud.startSystemAudioLoopback(null); } if (PropertyChanged != null) { @@ -195,7 +195,7 @@ namespace JianGongYun.TRTC.ViewModels { get { - if (AudioSource == "2") + if (AudioSource == "2"||AudioSource=="3") { _ShowSytemGatherSlider = Visibility.Visible; } diff --git a/JianGongYun/TRTC/Windows/LiveWindow.xaml b/JianGongYun/TRTC/Windows/LiveWindow.xaml index aa31eb4..707a10b 100644 --- a/JianGongYun/TRTC/Windows/LiveWindow.xaml +++ b/JianGongYun/TRTC/Windows/LiveWindow.xaml @@ -88,8 +88,8 @@ - - + + @@ -174,7 +174,7 @@ - 仅开启麦克风 + 仅开启声音 所有设备被关闭 diff --git a/JianGongYun/TRTC/Windows/LiveWindow.xaml.cs b/JianGongYun/TRTC/Windows/LiveWindow.xaml.cs index 45ceb5d..feba1c3 100644 --- a/JianGongYun/TRTC/Windows/LiveWindow.xaml.cs +++ b/JianGongYun/TRTC/Windows/LiveWindow.xaml.cs @@ -159,7 +159,8 @@ namespace JianGongYun.TRTC.Windows { LiveClassroom.VideoRecordTask(ref onEnd);//启动录制 } - LiveClassroom.SetMicMute(false); + + LiveClassroom.EnableAudio(); }, SettingWindowViewModel.ScreenRecordingCountdown); } diff --git a/JianGongYun/TRTC/Windows/SettingWindow.xaml b/JianGongYun/TRTC/Windows/SettingWindow.xaml index 2084c52..d0351e7 100644 --- a/JianGongYun/TRTC/Windows/SettingWindow.xaml +++ b/JianGongYun/TRTC/Windows/SettingWindow.xaml @@ -45,7 +45,8 @@ 音频来源 - + +