Volume gain settings.

This commit is contained in:
stonegate 2020-08-10 03:35:04 +08:00
parent 0e4dbb838d
commit a813ac50f6
11 changed files with 87 additions and 1 deletions

View File

@ -240,6 +240,8 @@ class MessageLookup extends MessageLookupByLibrary {
"settingsAutoPlayDes" : MessageLookupByLibrary.simpleMessage("Auto play next episode in playlist"),
"settingsBackup" : MessageLookupByLibrary.simpleMessage("Backup"),
"settingsBackupDes" : MessageLookupByLibrary.simpleMessage("Backup app data"),
"settingsBoostVolume" : MessageLookupByLibrary.simpleMessage("Volume boost level"),
"settingsBoostVolumeDes" : MessageLookupByLibrary.simpleMessage("Change volume boost level"),
"settingsDefaultGrid" : MessageLookupByLibrary.simpleMessage("Default grid view"),
"settingsDefaultGridDownload" : MessageLookupByLibrary.simpleMessage("Download tab"),
"settingsDefaultGridFavorite" : MessageLookupByLibrary.simpleMessage("Favorites tab"),

View File

@ -240,6 +240,8 @@ class MessageLookup extends MessageLookupByLibrary {
"settingsAutoPlayDes" : MessageLookupByLibrary.simpleMessage("Reproducir automaticamente episodio siguiente "),
"settingsBackup" : MessageLookupByLibrary.simpleMessage("Respaldo"),
"settingsBackupDes" : MessageLookupByLibrary.simpleMessage("Respaldar datos de la app"),
"settingsBoostVolume" : MessageLookupByLibrary.simpleMessage("Volume boost level"),
"settingsBoostVolumeDes" : MessageLookupByLibrary.simpleMessage("Change volume boost level"),
"settingsDefaultGrid" : MessageLookupByLibrary.simpleMessage("Vista de cuadricula por defecto"),
"settingsDefaultGridDownload" : MessageLookupByLibrary.simpleMessage("Pestaña de descargas"),
"settingsDefaultGridFavorite" : MessageLookupByLibrary.simpleMessage("Pestaña de favoritos"),

View File

@ -240,6 +240,8 @@ class MessageLookup extends MessageLookupByLibrary {
"settingsAutoPlayDes" : MessageLookupByLibrary.simpleMessage("Lancer automatiquement l\'épisode suivant"),
"settingsBackup" : MessageLookupByLibrary.simpleMessage("Backup"),
"settingsBackupDes" : MessageLookupByLibrary.simpleMessage("Sauvegarde des données de l\'application"),
"settingsBoostVolume" : MessageLookupByLibrary.simpleMessage("Volume boost level"),
"settingsBoostVolumeDes" : MessageLookupByLibrary.simpleMessage("Change volume boost level"),
"settingsDefaultGrid" : MessageLookupByLibrary.simpleMessage("Vue par défaut"),
"settingsDefaultGridDownload" : MessageLookupByLibrary.simpleMessage("Onglet Téléchargés"),
"settingsDefaultGridFavorite" : MessageLookupByLibrary.simpleMessage("Onglet Favoris"),

View File

@ -240,6 +240,8 @@ class MessageLookup extends MessageLookupByLibrary {
"settingsAutoPlayDes" : MessageLookupByLibrary.simpleMessage("自动播放下一节目"),
"settingsBackup" : MessageLookupByLibrary.simpleMessage("备份"),
"settingsBackupDes" : MessageLookupByLibrary.simpleMessage("备份应用数据"),
"settingsBoostVolume" : MessageLookupByLibrary.simpleMessage("声音增强水平"),
"settingsBoostVolumeDes" : MessageLookupByLibrary.simpleMessage("修改声音增强水平"),
"settingsDefaultGrid" : MessageLookupByLibrary.simpleMessage("默认布局"),
"settingsDefaultGridDownload" : MessageLookupByLibrary.simpleMessage("下载页"),
"settingsDefaultGridFavorite" : MessageLookupByLibrary.simpleMessage("收藏页"),

View File

@ -1672,6 +1672,26 @@ class S {
);
}
/// `Volume boost level`
String get settingsBoostVolume {
return Intl.message(
'Volume boost level',
name: 'settingsBoostVolume',
desc: '',
args: [],
);
}
/// `Change volume boost level`
String get settingsBoostVolumeDes {
return Intl.message(
'Change volume boost level',
name: 'settingsBoostVolumeDes',
desc: '',
args: [],
);
}
/// `Default grid view`
String get settingsDefaultGrid {
return Intl.message(

View File

@ -391,6 +391,10 @@
"@settingsBackup": {},
"settingsBackupDes": "Backup app data",
"@settingsBackupDes": {},
"settingsBoostVolume": "Volume boost level",
"@settingsBoostVolume": {},
"settingsBoostVolumeDes": "Change volume boost level",
"@settingsBoostVolumeDes": {},
"settingsDefaultGrid": "Default grid view",
"@settingsDefaultGrid": {},
"settingsDefaultGridDownload": "Download tab",

View File

@ -391,6 +391,10 @@
"@settingsBackup": {},
"settingsBackupDes": "Respaldar datos de la app",
"@settingsBackupDes": {},
"settingsBoostVolume": "Volume boost level",
"@settingsBoostVolume": {},
"settingsBoostVolumeDes": "Change volume boost level",
"@settingsBoostVolumeDes": {},
"settingsDefaultGrid": "Vista de cuadricula por defecto",
"@settingsDefaultGrid": {},
"settingsDefaultGridDownload": "Pestaña de descargas",

View File

@ -391,6 +391,10 @@
"@settingsBackup": {},
"settingsBackupDes": "Sauvegarde des données de l'application",
"@settingsBackupDes": {},
"settingsBoostVolume": "Volume boost level",
"@settingsBoostVolume": {},
"settingsBoostVolumeDes": "Change volume boost level",
"@settingsBoostVolumeDes": {},
"settingsDefaultGrid": "Vue par défaut",
"@settingsDefaultGrid": {},
"settingsDefaultGridDownload": "Onglet Téléchargés",

View File

@ -391,6 +391,10 @@
"@settingsBackup": {},
"settingsBackupDes": "备份应用数据",
"@settingsBackupDes": {},
"settingsBoostVolume": "声音增强水平",
"@settingsBoostVolume": {},
"settingsBoostVolumeDes": "修改声音增强水平",
"@settingsBoostVolumeDes": {},
"settingsDefaultGrid": "默认布局",
"@settingsDefaultGrid": {},
"settingsDefaultGridDownload": "下载页",

View File

@ -9,6 +9,7 @@ import 'package:provider/provider.dart';
import 'package:tuple/tuple.dart';
import '../home/audioplayer.dart';
import '../state/audio_state.dart';
import '../state/setting_state.dart';
import '../util/custom_dropdown.dart';
import '../util/extension_helper.dart';
@ -17,6 +18,16 @@ import '../util/general_dialog.dart';
const List secondsToSelect = [10, 15, 20, 25, 30, 45, 60];
class PlaySetting extends StatelessWidget {
String _volumeEffect(BuildContext context, int i) {
final s = context.s;
if (i == 2000) {
return s.playerHeightShort;
} else if (i == 3000) {
return s.playerHeightMed;
}
return s.playerHeightTall;
}
Widget _modeWidget(BuildContext context) {
var settings = Provider.of<SettingState>(context, listen: false);
return Selector<SettingState, Tuple2<int, int>>(
@ -234,7 +245,8 @@ class PlaySetting extends StatelessWidget {
@override
Widget build(BuildContext context) {
var settings = Provider.of<SettingState>(context, listen: false);
var settings = context.watch<SettingState>();
var audio = context.watch<AudioPlayerNotifier>();
final s = context.s;
return AnnotatedRegion<SystemUiOverlayStyle>(
value: SystemUiOverlayStyle(
@ -361,6 +373,30 @@ class PlaySetting extends StatelessWidget {
}).toList()),
),
),
ListTile(
contentPadding: EdgeInsets.only(
left: 70.0, right: 20, bottom: 10, top: 10),
title: Text(s.settingsBoostVolume),
subtitle: Text(s.settingsBoostVolumeDes),
trailing: Selector<AudioPlayerNotifier, int>(
selector: (_, audio) => audio.volumeGain,
builder: (_, volumeGain, __) => MyDropdownButton(
hint: Text(_volumeEffect(context, volumeGain)),
underline: Center(),
elevation: 1,
displayItemCount: 5,
isDense: true,
value: volumeGain,
onChanged: (value) =>
audio.setVolumeGain = value,
items: [2000, 3000, 4000]
.map<DropdownMenuItem<int>>((e) {
return DropdownMenuItem<int>(
value: e,
child: Text(_volumeEffect(context, e)));
}).toList()),
),
),
Divider(),
]),
Padding(

View File

@ -202,6 +202,12 @@ class AudioPlayerNotifier extends ChangeNotifier {
_savePlayerHeight();
}
set setVolumeGain(int volumeGain) {
_volumeGain = volumeGain;
notifyListeners();
volumeGainStorage.saveInt(volumeGain);
}
Future _initAudioData() async {
var index = await playerHeightStorage.getInt(defaultValue: 0);
_playerHeight = PlayerHeight.values[index];