声音选项

This commit is contained in:
lxmou666 2021-02-13 15:43:29 +08:00
parent 5d3b4b3e82
commit 1ad6d6b033
5 changed files with 41 additions and 18 deletions

View File

@ -114,14 +114,7 @@ namespace JianGongYun.TRTC
} }
lTXDeviceManager.setCurrentDeviceVolume(TRTCDeviceType.TXMediaDeviceTypeMic, settingWindowViewModel.MicVolume);//麦克风采集音量 lTXDeviceManager.setCurrentDeviceVolume(TRTCDeviceType.TXMediaDeviceTypeMic, settingWindowViewModel.MicVolume);//麦克风采集音量
lTRTCCloud.setSystemAudioLoopbackVolume(settingWindowViewModel.SytemGatherVolume);//系统声音采集音量 lTRTCCloud.setSystemAudioLoopbackVolume(settingWindowViewModel.SytemGatherVolume);//系统声音采集音量
if (settingWindowViewModel.AudioSource == "2")
{
lTRTCCloud.startSystemAudioLoopback(null);
}
else
{
lTRTCCloud.stopSystemAudioLoopback();
}
//设备完结 //设备完结
//liveWinMode.LoadAllScreen(); //liveWinMode.LoadAllScreen();
@ -367,6 +360,24 @@ namespace JianGongYun.TRTC
lTRTCCloud.stopAudioRecording(); 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);
}
}
/// <summary> /// <summary>
/// 关闭麦克风 /// 关闭麦克风
/// </summary> /// </summary>
@ -390,7 +401,17 @@ namespace JianGongYun.TRTC
if (liveWinMode.MicRunning) if (liveWinMode.MicRunning)
{ {
liveWinMode.MicMute = mute.HasValue ? mute.Value : !liveWinMode.MicMute; 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);
} }
} }

View File

@ -173,12 +173,12 @@ namespace JianGongYun.TRTC.ViewModels
if (_AudioSource == "1")//只采集麦克风,关闭系统音采集 if (_AudioSource == "1")//只采集麦克风,关闭系统音采集
{ {
ShowSytemGatherSlider = Visibility.Collapsed; ShowSytemGatherSlider = Visibility.Collapsed;
LiveClassroom.lTRTCCloud.stopSystemAudioLoopback(); //LiveClassroom.lTRTCCloud.stopSystemAudioLoopback();
} }
else if (_AudioSource == "2")//麦和系统音,开启采集系统音 else if (_AudioSource == "2" || _AudioSource == "3")//麦和系统音,开启采集系统音
{ {
ShowSytemGatherSlider = Visibility.Visible; ShowSytemGatherSlider = Visibility.Visible;
LiveClassroom.lTRTCCloud.startSystemAudioLoopback(null); //LiveClassroom.lTRTCCloud.startSystemAudioLoopback(null);
} }
if (PropertyChanged != null) if (PropertyChanged != null)
{ {
@ -195,7 +195,7 @@ namespace JianGongYun.TRTC.ViewModels
{ {
get get
{ {
if (AudioSource == "2") if (AudioSource == "2"||AudioSource=="3")
{ {
_ShowSytemGatherSlider = Visibility.Visible; _ShowSytemGatherSlider = Visibility.Visible;
} }

View File

@ -88,8 +88,8 @@
</Button> </Button>
<StackPanel Visibility="{Binding IsLive, Converter={StaticResource VisibilityOfBool}}" Orientation="Horizontal" Canvas.Right="27" Canvas.Top="10" Height="50"> <StackPanel Visibility="{Binding IsLive, Converter={StaticResource VisibilityOfBool}}" Orientation="Horizontal" Canvas.Right="27" Canvas.Top="10" Height="50">
<Canvas HorizontalAlignment="Right" Height="50" Width="50"> <Canvas HorizontalAlignment="Right" Height="50" Width="50">
<Metro:AduSysButton ToolTip="禁用/启用麦克风静音" Click="SetMute_Click" Foreground="#aaaaaa" IconHeight="25" IconWidth="18" CornerRadius="6" Height="50" Width="50" Icon="{StaticResource Icon_Mic}" Content="" /> <Metro:AduSysButton ToolTip="禁用/启用音" Click="SetMute_Click" Foreground="#aaaaaa" IconHeight="25" IconWidth="18" CornerRadius="6" Height="50" Width="50" Icon="{StaticResource Icon_Mic}" Content="" />
<Metro:AduSysButton ToolTip="禁用/启用麦克风静音" Click="SetMute_Click" Visibility="{Binding MicMute, Converter={StaticResource VisibilityOfBool}}" Foreground="#aaaaaa" IconHeight="25" IconWidth="25" CornerRadius="6" Height="50" Width="50" Icon="{StaticResource Icon_Ban}" Content="" /> <Metro:AduSysButton ToolTip="禁用/启用音" Click="SetMute_Click" Visibility="{Binding MicMute, Converter={StaticResource VisibilityOfBool}}" Foreground="#aaaaaa" IconHeight="25" IconWidth="25" CornerRadius="6" Height="50" Width="50" Icon="{StaticResource Icon_Ban}" Content="" />
</Canvas> </Canvas>
<Canvas HorizontalAlignment="Right" Height="50" Width="50"> <Canvas HorizontalAlignment="Right" Height="50" Width="50">
<Metro:AduSysButton ToolTip="禁用/启用摄像头" Click="SetCamera_Click" Foreground="#aaaaaa" IconHeight="25" IconWidth="20" CornerRadius="6" Height="50" Width="50" Icon="{StaticResource Icon_Camera}" Content="" /> <Metro:AduSysButton ToolTip="禁用/启用摄像头" Click="SetCamera_Click" Foreground="#aaaaaa" IconHeight="25" IconWidth="20" CornerRadius="6" Height="50" Width="50" Icon="{StaticResource Icon_Camera}" Content="" />
@ -174,7 +174,7 @@
<Grid Canvas.Top="0" Canvas.Left="0" Height="{Binding ElementName=CusContent,Path=ActualHeight}" Width="{Binding ElementName=CusContent,Path=ActualWidth}" Visibility="{Binding IsLive, Converter={StaticResource VisibilityOfBool}}"> <Grid Canvas.Top="0" Canvas.Left="0" Height="{Binding ElementName=CusContent,Path=ActualHeight}" Width="{Binding ElementName=CusContent,Path=ActualWidth}" Visibility="{Binding IsLive, Converter={StaticResource VisibilityOfBool}}">
<Canvas x:Name="AfterLivePanel"> <Canvas x:Name="AfterLivePanel">
<Grid Visibility="{Binding MicMute, Converter={StaticResource UnVisibilityOfBool}}" Width="{Binding ElementName=AfterLivePanel,Path=ActualWidth}" Height="{Binding ElementName=AfterLivePanel,Path=ActualHeight}" Canvas.Top="0" Canvas.Left="0"> <Grid Visibility="{Binding MicMute, Converter={StaticResource UnVisibilityOfBool}}" Width="{Binding ElementName=AfterLivePanel,Path=ActualWidth}" Height="{Binding ElementName=AfterLivePanel,Path=ActualHeight}" Canvas.Top="0" Canvas.Left="0">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="#aaaaaa" FontSize="14" >仅开启麦克风</TextBlock> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="#aaaaaa" FontSize="14" >仅开启声音</TextBlock>
</Grid> </Grid>
<Grid Visibility="{Binding MicMute, Converter={StaticResource VisibilityOfBool}}" Width="{Binding ElementName=AfterLivePanel,Path=ActualWidth}" Height="{Binding ElementName=AfterLivePanel,Path=ActualHeight}" Canvas.Top="0" Canvas.Left="0"> <Grid Visibility="{Binding MicMute, Converter={StaticResource VisibilityOfBool}}" Width="{Binding ElementName=AfterLivePanel,Path=ActualWidth}" Height="{Binding ElementName=AfterLivePanel,Path=ActualHeight}" Canvas.Top="0" Canvas.Left="0">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="#aaaaaa" FontSize="14" >所有设备被关闭</TextBlock> <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="#aaaaaa" FontSize="14" >所有设备被关闭</TextBlock>

View File

@ -159,7 +159,8 @@ namespace JianGongYun.TRTC.Windows
{ {
LiveClassroom.VideoRecordTask(ref onEnd);//启动录制 LiveClassroom.VideoRecordTask(ref onEnd);//启动录制
} }
LiveClassroom.SetMicMute(false);
LiveClassroom.EnableAudio();
}, SettingWindowViewModel.ScreenRecordingCountdown); }, SettingWindowViewModel.ScreenRecordingCountdown);
} }

View File

@ -45,7 +45,8 @@
<TextBlock Style="{StaticResource SettingItemText}" DockPanel.Dock="Left"> 音频来源</TextBlock> <TextBlock Style="{StaticResource SettingItemText}" DockPanel.Dock="Left"> 音频来源</TextBlock>
<Metro:AduComboBox Margin="0 0 10 0" SelectedValuePath="Tag" SelectedValue="{Binding AudioSource}" ComBoxItemPanelBackground="{StaticResource ComboBoxBrush}"> <Metro:AduComboBox Margin="0 0 10 0" SelectedValuePath="Tag" SelectedValue="{Binding AudioSource}" ComBoxItemPanelBackground="{StaticResource ComboBoxBrush}">
<ComboBoxItem Content="仅麦克风" Tag="1"/> <ComboBoxItem Content="仅麦克风" Tag="1"/>
<ComboBoxItem Content="麦和系统声音" Tag="2" /> <ComboBoxItem Content="仅系统声音" Tag="2" />
<ComboBoxItem Content="麦和系统声音" Tag="3" />
</Metro:AduComboBox> </Metro:AduComboBox>
</DockPanel> </DockPanel>
<DockPanel Visibility="{Binding ShowSytemGatherSlider}" Style="{StaticResource SettingItem}"> <DockPanel Visibility="{Binding ShowSytemGatherSlider}" Style="{StaticResource SettingItem}">