Add prefer aac switch

pull/590/head
FongMi 11 months ago
parent 12acd352af
commit 0e75435ece
  1. 7
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingPlayerActivity.java
  2. 29
      app/src/leanback/res/layout/activity_setting_player.xml
  3. 8
      app/src/main/java/com/fongmi/android/tv/Setting.java
  4. 7
      app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java
  5. 1
      app/src/main/res/values-zh-rCN/strings.xml
  6. 1
      app/src/main/res/values-zh-rTW/strings.xml
  7. 1
      app/src/main/res/values/strings.xml
  8. 7
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java
  9. 27
      app/src/mobile/res/layout/fragment_setting_player.xml

@ -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);

@ -234,6 +234,35 @@
</LinearLayout>
<LinearLayout
android:id="@+id/aac"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/selector_item"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/player_aac_track"
android:textColor="@color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/aacText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="關" />
</LinearLayout>
<LinearLayout
android:id="@+id/danmakuLoad"
android:layout_width="match_parent"

@ -225,6 +225,14 @@ public class Setting {
Prefers.put("audio_prefer", audioPrefer);
}
public static boolean isPreferAAC() {
return Prefers.getBoolean("prefer_aac");
}
public static void putPreferAAC(boolean preferAAC) {
Prefers.put("prefer_aac", preferAAC);
}
public static boolean isDanmakuLoad() {
return Prefers.getBoolean("danmaku_load");
}

@ -49,7 +49,12 @@ public class ExoUtil {
public static TrackSelector buildTrackSelector() {
DefaultTrackSelector trackSelector = new DefaultTrackSelector(App.get());
trackSelector.setParameters(trackSelector.buildUponParameters().setPreferredTextLanguage(Locale.getDefault().getISO3Language()).setForceHighestSupportedBitrate(true).setTunnelingEnabled(Setting.isTunnel()));
DefaultTrackSelector.Parameters.Builder builder = trackSelector.buildUponParameters();
if (Setting.isPreferAAC()) builder.setPreferredAudioMimeType(MimeTypes.AUDIO_AAC);
builder.setPreferredTextLanguage(Locale.getDefault().getISO3Language());
builder.setTunnelingEnabled(Setting.isTunnel());
builder.setForceHighestSupportedBitrate(true);
trackSelector.setParameters(builder.build());
return trackSelector;
}

@ -97,6 +97,7 @@
<string name="player_caption">字幕样式</string>
<string name="player_background">后台播放</string>
<string name="player_audio_decode">音频软解</string>
<string name="player_aac_track">AAC优先</string>
<string name="player_danmaku_load">弹幕加载</string>
<string name="player_tunnel">隧道模式</string>
<string name="player_buffer">缓冲时间</string>

@ -97,6 +97,7 @@
<string name="player_caption">字幕樣式</string>
<string name="player_background">背景播放</string>
<string name="player_audio_decode">音訊軟解</string>
<string name="player_aac_track">AAC優先</string>
<string name="player_danmaku_load">彈幕載入</string>
<string name="player_tunnel">隧道模式</string>
<string name="player_buffer">緩衝時間</string>

@ -98,6 +98,7 @@
<string name="player_caption">Caption style</string>
<string name="player_background">Background play</string>
<string name="player_audio_decode">Audio software decode</string>
<string name="player_aac_track">Prefer aac track</string>
<string name="player_danmaku_load">Danmaku load</string>
<string name="player_tunnel">Tunnel mode</string>
<string name="player_buffer">Buffer time</string>

@ -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]);

@ -249,6 +249,33 @@
</LinearLayout>
<LinearLayout
android:id="@+id/aac"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="@drawable/shape_item"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:text="@string/player_aac_track"
android:textColor="@color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/aacText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="16sp"
tools:text="開" />
</LinearLayout>
<LinearLayout
android:id="@+id/danmakuLoad"
android:layout_width="match_parent"

Loading…
Cancel
Save