From 0e75435ece2cee3a443b4ea0dce477b15ecb739d Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 20 May 2025 22:46:21 +0800 Subject: [PATCH] Add prefer aac switch --- .../tv/ui/activity/SettingPlayerActivity.java | 7 +++++ .../res/layout/activity_setting_player.xml | 29 +++++++++++++++++++ .../java/com/fongmi/android/tv/Setting.java | 8 +++++ .../fongmi/android/tv/player/exo/ExoUtil.java | 7 ++++- app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + .../tv/ui/fragment/SettingPlayerFragment.java | 7 +++++ .../res/layout/fragment_setting_player.xml | 27 +++++++++++++++++ 9 files changed, 87 insertions(+), 1 deletion(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java index 717a117ad..8e8d7648d 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java @@ -48,6 +48,7 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback, B format = new DecimalFormat("0.#"); mBinding.render.requestFocus(); mBinding.uaText.setText(Setting.getUa()); + mBinding.aacText.setText(getSwitch(Setting.isPreferAAC())); mBinding.tunnelText.setText(getSwitch(Setting.isTunnel())); mBinding.speedText.setText(format.format(Setting.getSpeed())); mBinding.bufferText.setText(String.valueOf(Setting.getBuffer())); @@ -62,6 +63,7 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback, B @Override protected void initEvent() { mBinding.ua.setOnClickListener(this::onUa); + mBinding.aac.setOnClickListener(this::setAAC); mBinding.scale.setOnClickListener(this::setScale); mBinding.speed.setOnClickListener(this::onSpeed); mBinding.buffer.setOnClickListener(this::onBuffer); @@ -89,6 +91,11 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback, B Setting.putUa(ua); } + private void setAAC(View view) { + Setting.putPreferAAC(!Setting.isPreferAAC()); + mBinding.aacText.setText(getSwitch(Setting.isPreferAAC())); + } + private void setScale(View view) { int index = Setting.getScale(); Setting.putScale(index = index == scale.length - 1 ? 0 : ++index); diff --git a/app/src/leanback/res/layout/activity_setting_player.xml b/app/src/leanback/res/layout/activity_setting_player.xml index e041a2de7..9b796224a 100644 --- a/app/src/leanback/res/layout/activity_setting_player.xml +++ b/app/src/leanback/res/layout/activity_setting_player.xml @@ -234,6 +234,35 @@ + + + + + + + + 字幕样式 后台播放 音频软解 + AAC优先 弹幕加载 隧道模式 缓冲时间 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index a1b45336f..bf84d7a10 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -97,6 +97,7 @@ 字幕樣式 背景播放 音訊軟解 + AAC優先 彈幕載入 隧道模式 緩衝時間 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9ea21a90b..1c5c619d4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -98,6 +98,7 @@ Caption style Background play Audio software decode + Prefer aac track Danmaku load Tunnel mode Buffer time diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java index 4191003ac..db5776fb7 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java @@ -51,6 +51,7 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B protected void initView() { format = new DecimalFormat("0.#"); mBinding.uaText.setText(Setting.getUa()); + mBinding.aacText.setText(getSwitch(Setting.isPreferAAC())); mBinding.tunnelText.setText(getSwitch(Setting.isTunnel())); mBinding.speedText.setText(format.format(Setting.getSpeed())); mBinding.bufferText.setText(String.valueOf(Setting.getBuffer())); @@ -66,6 +67,7 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B @Override protected void initEvent() { mBinding.ua.setOnClickListener(this::onUa); + mBinding.aac.setOnClickListener(this::setAAC); mBinding.scale.setOnClickListener(this::onScale); mBinding.speed.setOnClickListener(this::onSpeed); mBinding.buffer.setOnClickListener(this::onBuffer); @@ -88,6 +90,11 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B Setting.putUa(ua); } + private void setAAC(View view) { + Setting.putPreferAAC(!Setting.isPreferAAC()); + mBinding.aacText.setText(getSwitch(Setting.isPreferAAC())); + } + private void onScale(View view) { new MaterialAlertDialogBuilder(getActivity()).setTitle(R.string.player_scale).setNegativeButton(R.string.dialog_negative, null).setSingleChoiceItems(scale, Setting.getScale(), (dialog, which) -> { mBinding.scaleText.setText(scale[which]); diff --git a/app/src/mobile/res/layout/fragment_setting_player.xml b/app/src/mobile/res/layout/fragment_setting_player.xml index e8d46aaba..0c7a3ff34 100644 --- a/app/src/mobile/res/layout/fragment_setting_player.xml +++ b/app/src/mobile/res/layout/fragment_setting_player.xml @@ -249,6 +249,33 @@ + + + + + + + +