add handleAudioFocus switch

pull/559/head
okjack 1 year ago
parent b63dea4568
commit 832098837d
  1. 8
      app/src/main/java/com/fongmi/android/tv/Setting.java
  2. 2
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  3. 1
      app/src/main/res/values-zh-rCN/strings.xml
  4. 1
      app/src/main/res/values-zh-rTW/strings.xml
  5. 1
      app/src/main/res/values/strings.xml
  6. 8
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java
  7. 27
      app/src/mobile/res/layout/fragment_setting_player.xml

@ -258,6 +258,14 @@ public class Setting {
Prefers.put("update", update);
}
public static boolean isPlayWithOthers() {
return Prefers.getBoolean("play_with_others", false);
}
public static void putPlayWithOthers(boolean play) {
Prefers.put("play_with_others", play);
}
public static boolean isDanmu() {
return Prefers.getBoolean("danmu");
}

@ -149,7 +149,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, ParseCal
private void initExo(PlayerView view) {
exoPlayer = new ExoPlayer.Builder(App.get()).setLoadControl(ExoUtil.buildLoadControl()).setTrackSelector(ExoUtil.buildTrackSelector()).setRenderersFactory(ExoUtil.buildRenderersFactory(decode)).setMediaSourceFactory(ExoUtil.buildMediaSourceFactory()).build();
exoPlayer.setAudioAttributes(AudioAttributes.DEFAULT, true);
exoPlayer.setAudioAttributes(AudioAttributes.DEFAULT, !Setting.isPlayWithOthers());
exoPlayer.addAnalyticsListener(new EventLogger());
exoPlayer.setHandleAudioBecomingNoisy(true);
view.setRender(Setting.getRender());

@ -112,6 +112,7 @@
<string name="player_scale">缩放比例</string>
<string name="player_caption">字幕样式</string>
<string name="player_subtitle">字幕大小</string>
<string name="player_play_with_others">同时播放</string>
<string name="player_danmu_load">弹幕加载</string>
<string name="player_danmu_speed">弹幕速度</string>
<string name="player_danmu_size">弹幕大小</string>

@ -112,6 +112,7 @@
<string name="player_scale">縮放比例</string>
<string name="player_caption">字幕樣式</string>
<string name="player_subtitle">字幕大小</string>
<string name="player_play_with_others">同时播放</string>
<string name="player_danmu_load">彈幕載入</string>
<string name="player_danmu_speed">彈幕速度</string>
<string name="player_danmu_size">彈幕大小</string>

@ -113,6 +113,7 @@
<string name="player_scale">Scale</string>
<string name="player_caption">Caption style</string>
<string name="player_subtitle">Subtitle size</string>
<string name="player_play_with_others">Play with others</string>
<string name="player_danmu_load">Danmu load</string>
<string name="player_danmu_speed">Danmu speed</string>
<string name="player_danmu_size">Danmu size</string>

@ -58,6 +58,7 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B
mBinding.captionText.setText(getSwitch(Setting.isCaption()));
mBinding.bufferText.setText(String.valueOf(Setting.getBuffer()));
mBinding.subtitleText.setText(String.valueOf(Setting.getSubtitle()));
mBinding.playWithOthersText.setText(getSwitch(Setting.isPlayWithOthers()));
mBinding.danmuLoadText.setText(getSwitch(Setting.isDanmuLoad()));
mBinding.rtspText.setText((rtsp = ResUtil.getStringArray(R.array.select_rtsp))[Setting.getRtsp()]);
mBinding.flagText.setText((flag = ResUtil.getStringArray(R.array.select_flag))[Setting.getFlag()]);
@ -85,6 +86,7 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B
mBinding.caption.setOnClickListener(this::setCaption);
mBinding.subtitle.setOnClickListener(this::onSubtitle);
mBinding.caption.setOnLongClickListener(this::onCaption);
mBinding.playWithOthers.setOnClickListener(this::setPlayWithOthers);
mBinding.danmuLoad.setOnClickListener(this::setDanmuLoad);
mBinding.background.setOnClickListener(this::onBackground);
}
@ -94,6 +96,7 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B
mBinding.http.setVisibility(Players.isExo(Setting.getPlayer()) ? View.VISIBLE : View.GONE);
mBinding.buffer.setVisibility(Players.isExo(Setting.getPlayer()) ? View.VISIBLE : View.GONE);
mBinding.tunnel.setVisibility(Players.isExo(Setting.getPlayer()) ? View.VISIBLE : View.GONE);
mBinding.playWithOthers.setVisibility(Players.isExo(Setting.getPlayer()) ? View.VISIBLE : View.GONE);
}
private void onUa(View view) {
@ -189,6 +192,11 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B
mBinding.subtitleText.setText(String.valueOf(size));
}
private void setPlayWithOthers(View view) {
Setting.putPlayWithOthers(!Setting.isPlayWithOthers());
mBinding.playWithOthersText.setText(getSwitch(Setting.isPlayWithOthers()));
}
private void setDanmuLoad(View view) {
Setting.putDanmuLoad(!Setting.isDanmuLoad());
mBinding.danmuLoadText.setText(getSwitch(Setting.isDanmuLoad()));

@ -239,6 +239,33 @@
</LinearLayout>
<LinearLayout
android:id="@+id/playWithOthers"
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_play_with_others"
android:textColor="@color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/playWithOthersText"
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/background"
android:layout_width="match_parent"

Loading…
Cancel
Save