Skip to content

Commit 2bce49f

Browse files
authored
feat(RDP): add audio quality mode support (#551)
feat(RDP): add quality mode support
1 parent a5fb45a commit 2bce49f

File tree

19 files changed

+175
-7
lines changed

19 files changed

+175
-7
lines changed

Ui/Model/Protocol/RDP.cs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,13 @@ public enum EAudioRedirectionMode
7373
Disabled = 2,
7474
}
7575

76+
public enum EAudioQualityMode
77+
{
78+
Dynamic = 0,
79+
Medium = 1,
80+
High = 2,
81+
}
82+
7683
public class RdpLocalSetting
7784
{
7885
public DateTime LastUpdateTime { get; set; } = DateTime.MinValue;
@@ -305,6 +312,15 @@ public EAudioRedirectionMode? AudioRedirectionMode
305312
set => SetAndNotifyIfChanged(ref _audioRedirectionMode, value);
306313
}
307314

315+
private EAudioQualityMode? _audioQualityMode = EAudioQualityMode.Dynamic;
316+
[DefaultValue(EAudioQualityMode.Dynamic)]
317+
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
318+
public EAudioQualityMode? AudioQualityMode
319+
{
320+
get => _audioQualityMode;
321+
set => SetAndNotifyIfChanged(ref _audioQualityMode, value);
322+
}
323+
308324

309325
private bool? _enableAudioCapture = false;
310326
[DefaultValue(false)]
@@ -589,6 +605,14 @@ public RdpConfig ToRdpConfig()
589605
rdpConfig.AudioMode = 1;
590606
else if (this.AudioRedirectionMode == EAudioRedirectionMode.Disabled)
591607
rdpConfig.AudioMode = 2;
608+
609+
if (this.AudioQualityMode == EAudioQualityMode.Dynamic)
610+
rdpConfig.AudioQualityMode = 0;
611+
else if (this.AudioQualityMode == EAudioQualityMode.Medium)
612+
rdpConfig.AudioQualityMode = 1;
613+
else if (this.AudioQualityMode == EAudioQualityMode.High)
614+
rdpConfig.AudioQualityMode = 2;
615+
592616
if (this.EnableAudioCapture == true)
593617
rdpConfig.AudioCaptureMode = 1;
594618

@@ -686,6 +710,12 @@ public static RDP FromRdpConfig(RdpConfig rdpConfig, List<string> iconsBase64)
686710
case 1: rdp.AudioRedirectionMode = EAudioRedirectionMode.LeaveOnRemote; break;
687711
case 2: rdp.AudioRedirectionMode = EAudioRedirectionMode.Disabled; break;
688712
}
713+
switch (rdpConfig.AudioQualityMode)
714+
{
715+
case 0: rdp.AudioQualityMode = EAudioQualityMode.Dynamic; break;
716+
case 1: rdp.AudioQualityMode = EAudioQualityMode.Medium; break;
717+
case 2: rdp.AudioQualityMode = EAudioQualityMode.High; break;
718+
}
689719
rdp.EnableAudioCapture = rdpConfig.AudioCaptureMode > 0;
690720

691721

Ui/Model/Protocol/RdpApp.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ public EAudioRedirectionMode? AudioRedirectionMode
3939
set => SetAndNotifyIfChanged(ref _audioRedirectionMode, value);
4040
}
4141

42+
private EAudioQualityMode? _audioQualityMode = EAudioQualityMode.Dynamic;
43+
public EAudioQualityMode? AudioQualityMode
44+
{
45+
get => _audioQualityMode;
46+
set => SetAndNotifyIfChanged(ref _audioQualityMode, value);
47+
}
48+
4249
public override bool IsOnlyOneInstance()
4350
{
4451
return false;
@@ -100,6 +107,13 @@ public RdpConfig ToRdpConfig()
100107
else if (this.AudioRedirectionMode == EAudioRedirectionMode.Disabled)
101108
rdpConfig.AudioMode = 2;
102109

110+
if (this.AudioQualityMode == EAudioQualityMode.Dynamic)
111+
rdpConfig.AudioQualityMode = 0;
112+
else if (this.AudioQualityMode == EAudioQualityMode.Medium)
113+
rdpConfig.AudioQualityMode = 1;
114+
else if (this.AudioQualityMode == EAudioQualityMode.High)
115+
rdpConfig.AudioQualityMode = 2;
116+
103117
return rdpConfig;
104118
}
105119
#region IDataErrorInfo

Ui/Resources/Languages/cs-cz.xaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@
166166
<s:String x:Key="server_editor_advantage_sounds_disabled">Vypnuto</s:String>
167167
<s:String x:Key="server_editor_advantage_sounds_on_local">Přehrávat lokálně</s:String>
168168
<s:String x:Key="server_editor_advantage_sounds_on_remote">Přehrávat na protějšku</s:String>
169+
<s:String x:Key="server_editor_advantage_sound_quality">Kvalita zvuku</s:String>
170+
<s:String x:Key="server_editor_advantage_sound_quality_dynamic">Dynamický</s:String>
171+
<s:String x:Key="server_editor_advantage_sound_quality_medium">Střední</s:String>
172+
<s:String x:Key="server_editor_advantage_sound_quality_high">Vysoký</s:String>
169173
<s:String x:Key="server_editor_advantage_audio_capture">Zachytávání zvuku</s:String>
170174
<s:String x:Key="server_editor_advantage_ports">Porty</s:String>
171175
<s:String x:Key="server_editor_advantage_printers">Tiskárny</s:String>

Ui/Resources/Languages/de-de.xaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@
166166
<s:String x:Key="server_editor_advantage_sounds_disabled">Behinderte</s:String>
167167
<s:String x:Key="server_editor_advantage_sounds_on_local">Spielen Sie lokal</s:String>
168168
<s:String x:Key="server_editor_advantage_sounds_on_remote">Spielen Sie auf der Fernbedienung</s:String>
169+
<s:String x:Key="server_editor_advantage_sound_quality">Tonqualität</s:String>
170+
<s:String x:Key="server_editor_advantage_sound_quality_dynamic">Dynamisch</s:String>
171+
<s:String x:Key="server_editor_advantage_sound_quality_medium">Mittel</s:String>
172+
<s:String x:Key="server_editor_advantage_sound_quality_high">Hoch</s:String>
169173
<s:String x:Key="server_editor_advantage_audio_capture">Audio Aufnahme</s:String>
170174
<s:String x:Key="server_editor_advantage_ports">Häfen</s:String>
171175
<s:String x:Key="server_editor_advantage_printers">Drucker</s:String>

Ui/Resources/Languages/en-us.xaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@
166166
<s:String x:Key="server_editor_advantage_sounds_disabled">Disabled</s:String>
167167
<s:String x:Key="server_editor_advantage_sounds_on_local">Play on local</s:String>
168168
<s:String x:Key="server_editor_advantage_sounds_on_remote">Play on remote</s:String>
169+
<s:String x:Key="server_editor_advantage_sound_quality">Sound Quality</s:String>
170+
<s:String x:Key="server_editor_advantage_sound_quality_dynamic">Dynamic</s:String>
171+
<s:String x:Key="server_editor_advantage_sound_quality_medium">Medium</s:String>
172+
<s:String x:Key="server_editor_advantage_sound_quality_high">High</s:String>
169173
<s:String x:Key="server_editor_advantage_audio_capture">Audio Capture</s:String>
170174
<s:String x:Key="server_editor_advantage_ports">Ports</s:String>
171175
<s:String x:Key="server_editor_advantage_printers">Printers</s:String>

Ui/Resources/Languages/fr-fr.xaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@
166166
<s:String x:Key="server_editor_advantage_sounds_disabled">Désactivée</s:String>
167167
<s:String x:Key="server_editor_advantage_sounds_on_local">Jouez en local</s:String>
168168
<s:String x:Key="server_editor_advantage_sounds_on_remote">Jouer à distance</s:String>
169+
<s:String x:Key="server_editor_advantage_sound_quality">Qualité sonore</s:String>
170+
<s:String x:Key="server_editor_advantage_sound_quality_dynamic">Dynamique</s:String>
171+
<s:String x:Key="server_editor_advantage_sound_quality_medium">Moyen</s:String>
172+
<s:String x:Key="server_editor_advantage_sound_quality_high">Haut</s:String>
169173
<s:String x:Key="server_editor_advantage_audio_capture">Capture audio</s:String>
170174
<s:String x:Key="server_editor_advantage_ports">Ports</s:String>
171175
<s:String x:Key="server_editor_advantage_printers">Imprimantes</s:String>

Ui/Resources/Languages/gl-es.xaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@
166166
<s:String x:Key="server_editor_advantage_sounds_disabled">Deshabilitado</s:String>
167167
<s:String x:Key="server_editor_advantage_sounds_on_local">Soar en local</s:String>
168168
<s:String x:Key="server_editor_advantage_sounds_on_remote">Soar en remoto</s:String>
169+
<s:String x:Key="server_editor_advantage_sound_quality">Calidade de son</s:String>
170+
<s:String x:Key="server_editor_advantage_sound_quality_dynamic">Dinámico</s:String>
171+
<s:String x:Key="server_editor_advantage_sound_quality_medium">Medio</s:String>
172+
<s:String x:Key="server_editor_advantage_sound_quality_high">Alto</s:String>
169173
<s:String x:Key="server_editor_advantage_audio_capture">Captura de audio</s:String>
170174
<s:String x:Key="server_editor_advantage_ports">Portos</s:String>
171175
<s:String x:Key="server_editor_advantage_printers">Impresoras</s:String>

Ui/Resources/Languages/glossary.csv

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,10 @@ server_editor_advantage_sounds;Sounds;声音;Zvuky;Ton;Sons;Sons;;音效;Sons;D
165165
server_editor_advantage_sounds_disabled;Disabled;禁用;Vypnuto;;Désactivée;Desabilitado;;停用;Deshabilitado;Dezaktywowane
166166
server_editor_advantage_sounds_on_local;Play on local;在本地播放;Přehrávat lokálně;;Jouez en local;Rode localmente;;在本機播放;Soar en local;Słuchaj na lokalym
167167
server_editor_advantage_sounds_on_remote;Play on remote;在远程播放;Přehrávat na protějšku;;Jouer à distance;Rode remotamente;;在遠端播放;Soar en remoto;Słuchaj na zdalnym
168+
server_editor_advantage_sound_quality;Sound Quality;音频质量;;;;;;;;
169+
server_editor_advantage_sound_quality_dynamic;Dynamic;动态;;;;;;;;
170+
server_editor_advantage_sound_quality_medium;Medium;中;;;;;;;;
171+
server_editor_advantage_sound_quality_high;High;高;;;;;;;;
168172
server_editor_advantage_audio_capture;Audio Capture;录音;Zachytávání zvuku;Audio Aufnahme;Capture audio;Captura de áudio;;音效擷取;Captura de audio;Przechwytywanie dzwięku
169173
server_editor_advantage_ports;Ports;端口;Porty;;;Portas;;連接埠;Portos;Porty
170174
server_editor_advantage_printers;Printers;打印机;Tiskárny;Drucker;Imprimantes;Impressoras;;印表機;Impresoras;Drukarki

Ui/Resources/Languages/glossary_translated_by_google.csv

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ All;All;全部;Vše;Alle;Tous;Todos;全て;全部;Todos;Wszystkie
6868
Protocol;Protocol;协议;Protokol;Protokoll;Protocole;Protocolo;プロトコル;協定;Protocolo;Protokół
6969
Cameras;Cameras;摄像头;Kamery;Kameras;Appareils photo;Câmeras;カメラ;相機;Cámaras;Kamera
7070
Upload;Upload;上传;nahrát;Hochladen;Télécharger;Carregar;アップロード;上傳;Cargar;Wgraj
71-
filter_mainwindow;Keywords or '#' + tag name;输入关键词或 '#' + 标签名;Klíčová slova nebo „#“ + název štítku;Schlüsselwörter oder '#' + Tag-Name;Mots-clés ou '#' + nom de tag;Palavras-chave ou '#' + 'nome_da_tag';キーワードまたは「#」+タグ名;輸入關鍵字或 '#' + 標籤名稱;Palabras chave ou '#' + etiqueta;Słowa kluczowe lub '#' + nazwa taga
71+
filter_mainwindow;Keywords or '#' + tag name or 'Tab' key;输入关键词或 '#' + 标签名或Tab键;Klíčová slova nebo „#“ + název štítku;Schlüsselwörter oder '#' + Tag-Name;Mots-clés ou '#' + nom de tag;Palavras-chave ou '#' + 'nome_da_tag';キーワードまたは「#」+タグ名;輸入關鍵字或 '#' + 標籤名稱;Palabras chave ou '#' + etiqueta;Słowa kluczowe lub '#' + nazwa taga
7272
Search (Ctrl+F);Search (Ctrl + F);搜索 (Ctrl + F);Hledat (Ctrl + F);Suche (STRG + F);Rechercher (Ctrl + F);Procurar (Ctrl + F);検索 (Ctrl + F);搜尋 (Ctrl + F);Procurar (Ctrl + F);Szukaj (CTRL + F)
7373
hotkey_already_registered;Hot key already been registered;快捷键已被占用;Klávesová zkratka už je zaregistrována (pro něco jiného?);Hotkey bereits registriert;Raccourci clavier déjà enregistré;Tecla de atalho já registrada;ホットキーはすでに登録されています;快捷鍵已被其他應用程式占用;Atallo xa rexistrado;Skrót klawiszowy został już przypisany
7474
hotkey_registered_fail;Failed to register the hot key;快捷键注册失败;Klávesovou zkratku se nepodařilo zaregistrovat;Fehler bei der Hotkey Registrierung;Echec de l'enregistrement du raccourci clavier;Falha ao registrar a tecla de atalho;ホットキーの登録に失敗しました;快捷鍵綁定失敗;Fallou o rexistro do atallo;Nie udało się przypisać skrótu klawiszowego
@@ -165,6 +165,10 @@ server_editor_advantage_sounds;Sounds;声音;Zvuky;Ton;Sons;Sons;音;音效;Sons
165165
server_editor_advantage_sounds_disabled;Disabled;禁用;Vypnuto;Behinderte;Désactivée;Desabilitado;無効;停用;Deshabilitado;Dezaktywowane
166166
server_editor_advantage_sounds_on_local;Play on local;在本地播放;Přehrávat lokálně;Spielen Sie lokal;Jouez en local;Rode localmente;ローカルでプレイする;在本機播放;Soar en local;Słuchaj na lokalym
167167
server_editor_advantage_sounds_on_remote;Play on remote;在远程播放;Přehrávat na protějšku;Spielen Sie auf der Fernbedienung;Jouer à distance;Rode remotamente;リモートでプレイする;在遠端播放;Soar en remoto;Słuchaj na zdalnym
168+
server_editor_advantage_sound_quality;Sound Quality;音频质量;Kvalita zvuku;Tonqualität;Qualité sonore;Qualidade de som;音の質;音質;Calidade de son;Jakość dźwięku
169+
server_editor_advantage_sound_quality_dynamic;Dynamic;动态;Dynamický;Dynamisch;Dynamique;Dinâmico;動的;動態的;Dinámico;Dynamiczny
170+
server_editor_advantage_sound_quality_medium;Medium;中;Střední;Mittel;Moyen;Médio;中くらい;中等的;Medio;Średni
171+
server_editor_advantage_sound_quality_high;High;高;Vysoký;Hoch;Haut;Alto;高い;高的;Alto;Wysoki
168172
server_editor_advantage_audio_capture;Audio Capture;录音;Zachytávání zvuku;Audio Aufnahme;Capture audio;Captura de áudio;オーディオキャプチャ;音效擷取;Captura de audio;Przechwytywanie dzwięku
169173
server_editor_advantage_ports;Ports;端口;Porty;Häfen;Ports;Portas;ポート;連接埠;Portos;Porty
170174
server_editor_advantage_printers;Printers;打印机;Tiskárny;Drucker;Imprimantes;Impressoras;プリンター;印表機;Impresoras;Drukarki

Ui/Resources/Languages/ja-jp.xaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@
166166
<s:String x:Key="server_editor_advantage_sounds_disabled">無効</s:String>
167167
<s:String x:Key="server_editor_advantage_sounds_on_local">ローカルでプレイする</s:String>
168168
<s:String x:Key="server_editor_advantage_sounds_on_remote">リモートでプレイする</s:String>
169+
<s:String x:Key="server_editor_advantage_sound_quality">音の質</s:String>
170+
<s:String x:Key="server_editor_advantage_sound_quality_dynamic">動的</s:String>
171+
<s:String x:Key="server_editor_advantage_sound_quality_medium">中くらい</s:String>
172+
<s:String x:Key="server_editor_advantage_sound_quality_high">高い</s:String>
169173
<s:String x:Key="server_editor_advantage_audio_capture">オーディオキャプチャ</s:String>
170174
<s:String x:Key="server_editor_advantage_ports">ポート</s:String>
171175
<s:String x:Key="server_editor_advantage_printers">プリンター</s:String>

0 commit comments

Comments
 (0)