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 d3b6bab2b..ea58b1ad9 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 @@ -25,6 +25,7 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback, B private String[] caption; private String[] render; private String[] scale; + private String[] rtsp; public static void start(Activity activity) { activity.startActivity(new Intent(activity, SettingPlayerActivity.class)); @@ -47,6 +48,7 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback, B mBinding.tunnelText.setText(getSwitch(Setting.isTunnel())); mBinding.bufferText.setText(String.valueOf(Setting.getBuffer())); mBinding.subtitleText.setText(String.valueOf(Setting.getSubtitle())); + mBinding.rtspText.setText((rtsp = ResUtil.getStringArray(R.array.select_rtsp))[Setting.getRtsp()]); mBinding.scaleText.setText((scale = ResUtil.getStringArray(R.array.select_scale))[Setting.getScale()]); mBinding.renderText.setText((render = ResUtil.getStringArray(R.array.select_render))[Setting.getRender()]); mBinding.captionText.setText((caption = ResUtil.getStringArray(R.array.select_caption))[Setting.isCaption() ? 1 : 0]); @@ -55,6 +57,7 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback, B @Override protected void initEvent() { mBinding.ua.setOnClickListener(this::onUa); + mBinding.rtsp.setOnClickListener(this::setRtsp); mBinding.scale.setOnClickListener(this::setScale); mBinding.buffer.setOnClickListener(this::onBuffer); mBinding.render.setOnClickListener(this::setRender); @@ -78,6 +81,12 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback, B Setting.putUa(ua); } + private void setRtsp(View view) { + int index = Setting.getRtsp(); + Setting.putRtsp(index = index == rtsp.length - 1 ? 0 : ++index); + mBinding.rtspText.setText(rtsp[index]); + } + 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 252f8201c..2edf0517b 100644 --- a/app/src/leanback/res/layout/activity_setting_player.xml +++ b/app/src/leanback/res/layout/activity_setting_player.xml @@ -196,6 +196,35 @@ + + + + + + + + 后台播放 隧道模式 缓冲时间 + RTSP 通道 User-Agent @@ -183,4 +184,9 @@ 选择字幕 + + UDP + TCP + + \ No newline at end of file diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 2fbf35f1a..30a463c3a 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -86,6 +86,7 @@ 背景播放 隧道模式 緩衝時間 + RTSP 通道 User-Agent @@ -183,4 +184,9 @@ 選擇字幕 + + UDP + TCP + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6657bf9d0..5fe37b356 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -86,6 +86,7 @@ Background play Tunnel mode Buffer time + RTSP channel User-Agent @@ -188,4 +189,9 @@ Select subtitle track + + UDP + TCP + + \ No newline at end of file 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 f4db2578f..dad9d7fb9 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 @@ -30,6 +30,7 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B private String[] caption; private String[] render; private String[] scale; + private String[] rtsp; public static SettingPlayerFragment newInstance() { return new SettingPlayerFragment(); @@ -51,6 +52,7 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B mBinding.tunnelText.setText(getSwitch(Setting.isTunnel())); mBinding.bufferText.setText(String.valueOf(Setting.getBuffer())); mBinding.subtitleText.setText(String.valueOf(Setting.getSubtitle())); + mBinding.rtspText.setText((rtsp = ResUtil.getStringArray(R.array.select_rtsp))[Setting.getRtsp()]); mBinding.scaleText.setText((scale = ResUtil.getStringArray(R.array.select_scale))[Setting.getScale()]); mBinding.renderText.setText((render = ResUtil.getStringArray(R.array.select_render))[Setting.getRender()]); mBinding.captionText.setText((caption = ResUtil.getStringArray(R.array.select_caption))[Setting.isCaption() ? 1 : 0]); @@ -60,6 +62,7 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B @Override protected void initEvent() { mBinding.ua.setOnClickListener(this::onUa); + mBinding.rtsp.setOnClickListener(this::setRtsp); mBinding.scale.setOnClickListener(this::onScale); mBinding.buffer.setOnClickListener(this::onBuffer); mBinding.render.setOnClickListener(this::setRender); @@ -84,6 +87,12 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B Setting.putUa(ua); } + private void setRtsp(View view) { + int index = Setting.getRtsp(); + Setting.putRtsp(index = index == rtsp.length - 1 ? 0 : ++index); + mBinding.rtspText.setText(rtsp[index]); + } + 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 6c3fa6e2e..b307a9253 100644 --- a/app/src/mobile/res/layout/fragment_setting_player.xml +++ b/app/src/mobile/res/layout/fragment_setting_player.xml @@ -242,6 +242,33 @@ + + + + + + + +