feat: add audio switch ui

This commit is contained in:
Kingtous
2023-01-30 20:30:35 +08:00
parent 95d06e160b
commit cb228bef2b
39 changed files with 219 additions and 0 deletions

View File

@@ -1106,6 +1106,30 @@ class _RemoteMenubarState extends State<RemoteMenubar> {
padding: padding,
),
MenuEntryDivider<String>(),
MenuEntryRadios<String>(
text: translate('Audio Transmission Mode'),
optionsGetter: () => [
MenuEntryRadioOption(
text: translate('Guest to Host'),
value: kRemoteAudioGuestToHost,
dismissOnClicked: true,
),
MenuEntryRadioOption(
text: translate('Two way'),
value: kRemoteAudioTwoWay,
dismissOnClicked: true,
),
],
curOptionGetter: () async =>
// null means peer id is not found, which there's no need to care about
await bind.sessionGetAudioMode(id: widget.id) ?? '',
optionSetter: (String oldValue, String newValue) async {
if (oldValue != newValue) {
await bind.sessionSetAudioMode(id: widget.id, value: newValue);
}
},
padding: padding,
),
];
if (widget.state.viewStyle.value == kRemoteViewStyleOriginal) {
@@ -1337,6 +1361,8 @@ class _RemoteMenubarState extends State<RemoteMenubar> {
if (perms['audio'] != false) {
displayMenu
.add(_createSwitchMenuEntry('Mute', 'disable-audio', padding, true));
displayMenu
.add(_createSwitchMenuEntry('Mute', 'disable-audio', padding, true));
}
if (Platform.isWindows &&