fix: loudnorm out of range (#1371)

This commit is contained in:
My-Responsitories
2025-09-29 14:02:37 +08:00
committed by GitHub
parent 2817c8f5b1
commit 05636b33c0
2 changed files with 24 additions and 5 deletions

View File

@@ -747,7 +747,7 @@ class PlPlayerController {
}
}
static final loudnormRegExp = RegExp('loudnorm=[^,]+');
static final loudnormRegExp = RegExp('loudnorm=([^,]+)');
// 配置播放器
Future<Player> _createVideoController(
@@ -845,7 +845,15 @@ class PlPlayerController {
if (volume != null && volume.isNotEmpty) {
audioNormalization = audioNormalization.replaceFirstMapped(
loudnormRegExp,
(i) => '${i[0]}:$volume',
(i) =>
'loudnorm=${volume.format(
Map.fromEntries(
i.group(1)!.split(':').map((item) {
final parts = item.split('=');
return MapEntry(parts[0].toLowerCase(), num.parse(parts[1]));
}),
),
)}',
);
} else {
audioNormalization = audioNormalization.replaceFirst(