mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-31 16:18:22 +08:00
multi hwdecs
Closes #1268 Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -7,6 +7,7 @@ import 'package:PiliPlus/models/common/video/live_quality.dart';
|
|||||||
import 'package:PiliPlus/models/common/video/video_decode_type.dart';
|
import 'package:PiliPlus/models/common/video/video_decode_type.dart';
|
||||||
import 'package:PiliPlus/models/common/video/video_quality.dart';
|
import 'package:PiliPlus/models/common/video/video_quality.dart';
|
||||||
import 'package:PiliPlus/pages/setting/models/model.dart';
|
import 'package:PiliPlus/pages/setting/models/model.dart';
|
||||||
|
import 'package:PiliPlus/pages/setting/widgets/multi_select_dialog.dart';
|
||||||
import 'package:PiliPlus/pages/setting/widgets/select_dialog.dart';
|
import 'package:PiliPlus/pages/setting/widgets/select_dialog.dart';
|
||||||
import 'package:PiliPlus/plugin/pl_player/models/hwdec_type.dart';
|
import 'package:PiliPlus/plugin/pl_player/models/hwdec_type.dart';
|
||||||
import 'package:PiliPlus/utils/storage.dart';
|
import 'package:PiliPlus/utils/storage.dart';
|
||||||
@@ -344,20 +345,23 @@ List<SettingsModel> get videoSettings => [
|
|||||||
leading: const Icon(Icons.memory_outlined),
|
leading: const Icon(Icons.memory_outlined),
|
||||||
getSubtitle: () => '当前:${Pref.hardwareDecoding}(此项即mpv的--hwdec)',
|
getSubtitle: () => '当前:${Pref.hardwareDecoding}(此项即mpv的--hwdec)',
|
||||||
onTap: (setState) async {
|
onTap: (setState) async {
|
||||||
final result = await showDialog<String>(
|
final result = await showDialog<Set<String>>(
|
||||||
context: Get.context!,
|
context: Get.context!,
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
return SelectDialog<String>(
|
return MultiSelectDialog<String>(
|
||||||
title: '硬解模式',
|
title: '硬解模式',
|
||||||
value: Pref.hardwareDecoding,
|
initValues: Pref.hardwareDecoding.split(','),
|
||||||
values: HwDecType.values
|
values: {
|
||||||
.map((e) => (e.hwdec, '${e.hwdec}\n${e.desc}'))
|
for (var e in HwDecType.values) e.hwdec: '${e.hwdec}\n${e.desc}',
|
||||||
.toList(),
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
if (result != null) {
|
if (result != null && result.isNotEmpty) {
|
||||||
await GStorage.setting.put(SettingBoxKey.hardwareDecoding, result);
|
await GStorage.setting.put(
|
||||||
|
SettingBoxKey.hardwareDecoding,
|
||||||
|
result.join(','),
|
||||||
|
);
|
||||||
setState();
|
setState();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user