mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-30 23:58:13 +08:00
remove audio_normalization
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -1,11 +0,0 @@
|
|||||||
enum AudioNormalization {
|
|
||||||
disable('禁用'),
|
|
||||||
// ref https://github.com/KRTirtho/spotube/commit/da10ab2e291d4ba4d3082b9a6ae535639fb8f1b7
|
|
||||||
dynaudnorm('预设 dynaudnorm', 'dynaudnorm=g=5:f=250:r=0.9:p=0.5'),
|
|
||||||
loudnorm('预设 loudnorm', 'loudnorm=I=-16:LRA=11:TP=-1.5'),
|
|
||||||
custom('自定义参数');
|
|
||||||
|
|
||||||
final String title;
|
|
||||||
final String param;
|
|
||||||
const AudioNormalization(this.title, [this.param = '']);
|
|
||||||
}
|
|
||||||
@@ -7,7 +7,6 @@ import 'package:PiliPlus/common/widgets/radio_widget.dart';
|
|||||||
import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
|
import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
|
||||||
import 'package:PiliPlus/grpc/reply.dart';
|
import 'package:PiliPlus/grpc/reply.dart';
|
||||||
import 'package:PiliPlus/http/fav.dart';
|
import 'package:PiliPlus/http/fav.dart';
|
||||||
import 'package:PiliPlus/models/common/audio_normalization.dart';
|
|
||||||
import 'package:PiliPlus/models/common/dynamic/dynamics_type.dart';
|
import 'package:PiliPlus/models/common/dynamic/dynamics_type.dart';
|
||||||
import 'package:PiliPlus/models/common/member/tab_type.dart';
|
import 'package:PiliPlus/models/common/member/tab_type.dart';
|
||||||
import 'package:PiliPlus/models/common/reply/reply_sort_type.dart';
|
import 'package:PiliPlus/models/common/reply/reply_sort_type.dart';
|
||||||
@@ -438,91 +437,6 @@ List<SettingsModel> get extraSettings => [
|
|||||||
} catch (_) {}
|
} catch (_) {}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
SettingsModel(
|
|
||||||
settingsType: SettingsType.normal,
|
|
||||||
title: '音量均衡',
|
|
||||||
setKey: SettingBoxKey.audioNormalization,
|
|
||||||
leading: const Icon(Icons.multitrack_audio),
|
|
||||||
getSubtitle: () {
|
|
||||||
String audioNormalization = Pref.audioNormalization;
|
|
||||||
audioNormalization = switch (audioNormalization) {
|
|
||||||
'0' => AudioNormalization.disable.title,
|
|
||||||
'1' => AudioNormalization.dynaudnorm.title,
|
|
||||||
'2' => AudioNormalization.loudnorm.title,
|
|
||||||
_ => audioNormalization,
|
|
||||||
};
|
|
||||||
return '当前:「$audioNormalization」';
|
|
||||||
},
|
|
||||||
onTap: (setState) async {
|
|
||||||
String? result = await showDialog(
|
|
||||||
context: Get.context!,
|
|
||||||
builder: (context) {
|
|
||||||
String audioNormalization = Pref.audioNormalization;
|
|
||||||
Set<String> values = {'0', '1', '2', audioNormalization, '3'};
|
|
||||||
return SelectDialog<String>(
|
|
||||||
title: '音量均衡',
|
|
||||||
value: audioNormalization,
|
|
||||||
values: values
|
|
||||||
.map(
|
|
||||||
(e) => (
|
|
||||||
e,
|
|
||||||
switch (e) {
|
|
||||||
'0' => AudioNormalization.disable.title,
|
|
||||||
'1' => AudioNormalization.dynaudnorm.title,
|
|
||||||
'2' => AudioNormalization.loudnorm.title,
|
|
||||||
'3' => AudioNormalization.custom.title,
|
|
||||||
_ => e,
|
|
||||||
},
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.toList(),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
if (result != null) {
|
|
||||||
if (result == '3') {
|
|
||||||
String param = '';
|
|
||||||
showDialog(
|
|
||||||
context: Get.context!,
|
|
||||||
builder: (context) {
|
|
||||||
return AlertDialog(
|
|
||||||
title: const Text('自定义参数'),
|
|
||||||
content: TextField(
|
|
||||||
autofocus: true,
|
|
||||||
onChanged: (value) => param = value,
|
|
||||||
),
|
|
||||||
actions: [
|
|
||||||
TextButton(
|
|
||||||
onPressed: Get.back,
|
|
||||||
child: Text(
|
|
||||||
'取消',
|
|
||||||
style: TextStyle(
|
|
||||||
color: Theme.of(context).colorScheme.outline,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
TextButton(
|
|
||||||
onPressed: () async {
|
|
||||||
Get.back();
|
|
||||||
await GStorage.setting.put(
|
|
||||||
SettingBoxKey.audioNormalization,
|
|
||||||
param,
|
|
||||||
);
|
|
||||||
setState();
|
|
||||||
},
|
|
||||||
child: const Text('确定'),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
await GStorage.setting.put(SettingBoxKey.audioNormalization, result);
|
|
||||||
setState();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SettingsModel(
|
SettingsModel(
|
||||||
settingsType: SettingsType.normal,
|
settingsType: SettingsType.normal,
|
||||||
title: '超分辨率',
|
title: '超分辨率',
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import 'package:PiliPlus/http/loading_state.dart';
|
|||||||
import 'package:PiliPlus/http/ua_type.dart';
|
import 'package:PiliPlus/http/ua_type.dart';
|
||||||
import 'package:PiliPlus/http/video.dart';
|
import 'package:PiliPlus/http/video.dart';
|
||||||
import 'package:PiliPlus/models/common/account_type.dart';
|
import 'package:PiliPlus/models/common/account_type.dart';
|
||||||
import 'package:PiliPlus/models/common/audio_normalization.dart';
|
|
||||||
import 'package:PiliPlus/models/common/sponsor_block/skip_type.dart';
|
import 'package:PiliPlus/models/common/sponsor_block/skip_type.dart';
|
||||||
import 'package:PiliPlus/models/common/super_resolution_type.dart';
|
import 'package:PiliPlus/models/common/super_resolution_type.dart';
|
||||||
import 'package:PiliPlus/models/common/video/video_type.dart';
|
import 'package:PiliPlus/models/common/video/video_type.dart';
|
||||||
@@ -718,17 +717,7 @@ class PlPlayerController {
|
|||||||
if (isAnim) {
|
if (isAnim) {
|
||||||
setShader(superResolutionType.value, pp);
|
setShader(superResolutionType.value, pp);
|
||||||
}
|
}
|
||||||
String audioNormalization = Pref.audioNormalization;
|
await pp.setProperty("af", "scaletempo2=max-speed=8");
|
||||||
audioNormalization = switch (audioNormalization) {
|
|
||||||
'0' => '',
|
|
||||||
'1' => ',${AudioNormalization.dynaudnorm.param}',
|
|
||||||
'2' => ',${AudioNormalization.loudnorm.param}',
|
|
||||||
_ => ',$audioNormalization',
|
|
||||||
};
|
|
||||||
await pp.setProperty(
|
|
||||||
"af",
|
|
||||||
"scaletempo2=max-speed=8$audioNormalization",
|
|
||||||
);
|
|
||||||
if (Platform.isAndroid) {
|
if (Platform.isAndroid) {
|
||||||
await pp.setProperty("volume-max", "100");
|
await pp.setProperty("volume-max", "100");
|
||||||
String ao = Pref.useOpenSLES
|
String ao = Pref.useOpenSLES
|
||||||
|
|||||||
@@ -90,7 +90,6 @@ class SettingBoxKey {
|
|||||||
refreshDragPercentage = 'refreshDragPercentage',
|
refreshDragPercentage = 'refreshDragPercentage',
|
||||||
refreshDisplacement = 'refreshDisplacement',
|
refreshDisplacement = 'refreshDisplacement',
|
||||||
showHotRcmd = 'showHotRcmd',
|
showHotRcmd = 'showHotRcmd',
|
||||||
audioNormalization = 'audioNormalization',
|
|
||||||
superResolutionType = 'superResolutionType',
|
superResolutionType = 'superResolutionType',
|
||||||
preInitPlayer = 'preInitPlayer',
|
preInitPlayer = 'preInitPlayer',
|
||||||
mainTabBarView = 'mainTabBarView',
|
mainTabBarView = 'mainTabBarView',
|
||||||
|
|||||||
@@ -405,9 +405,6 @@ class Pref {
|
|||||||
static bool get showHotRcmd =>
|
static bool get showHotRcmd =>
|
||||||
_setting.get(SettingBoxKey.showHotRcmd, defaultValue: false);
|
_setting.get(SettingBoxKey.showHotRcmd, defaultValue: false);
|
||||||
|
|
||||||
static String get audioNormalization =>
|
|
||||||
_setting.get(SettingBoxKey.audioNormalization, defaultValue: '0');
|
|
||||||
|
|
||||||
static SuperResolutionType get superResolutionType {
|
static SuperResolutionType get superResolutionType {
|
||||||
SuperResolutionType? superResolutionType;
|
SuperResolutionType? superResolutionType;
|
||||||
final index = _setting.get(SettingBoxKey.superResolutionType);
|
final index = _setting.get(SettingBoxKey.superResolutionType);
|
||||||
|
|||||||
Reference in New Issue
Block a user