Add rtsp setting

pull/485/head
okjack 2 years ago
parent 505a23170e
commit 1991531b20
  1. 9
      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. 1
      app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java
  5. 8
      app/src/main/res/values-zh-rCN/strings.xml
  6. 8
      app/src/main/res/values-zh-rTW/strings.xml
  7. 8
      app/src/main/res/values/strings.xml
  8. 9
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/SettingPlayerFragment.java
  9. 27
      app/src/mobile/res/layout/fragment_setting_player.xml

@ -31,6 +31,7 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback, B
private String[] scale;
private String[] http;
private String[] flag;
private String[] rtsp;
public static void start(Activity activity) {
activity.startActivity(new Intent(activity, SettingPlayerActivity.class));
@ -53,6 +54,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.flagText.setText((flag = ResUtil.getStringArray(R.array.select_flag))[Setting.getFlag()]);
mBinding.httpText.setText((http = ResUtil.getStringArray(R.array.select_exo_http))[Setting.getHttp()]);
mBinding.scaleText.setText((scale = ResUtil.getStringArray(R.array.select_scale))[Setting.getScale()]);
@ -65,6 +67,7 @@ public class SettingPlayerActivity extends BaseActivity implements UaCallback, B
@Override
protected void initEvent() {
mBinding.ua.setOnClickListener(this::onUa);
mBinding.rtsp.setOnClickListener(this::setRtsp);
mBinding.http.setOnClickListener(this::setHttp);
mBinding.flag.setOnClickListener(this::setFlag);
mBinding.scale.setOnClickListener(this::setScale);
@ -95,6 +98,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 setHttp(View view) {
int index = Setting.getHttp();
Setting.putHttp(index = index == http.length - 1 ? 0 : ++index);

@ -311,6 +311,35 @@
</LinearLayout>
<LinearLayout
android:id="@+id/rtsp"
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_rtsp"
android:textColor="@color/white"
android:textSize="18sp" />
<TextView
android:id="@+id/rtspText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="UDP" />
</LinearLayout>
<LinearLayout
android:id="@+id/ua"
android:layout_width="match_parent"

@ -194,6 +194,14 @@ public class Setting {
Prefers.put("background", background);
}
public static int getRtsp() {
return Prefers.getInt("rtsp");
}
public static void putRtsp(int rtsp) {
Prefers.put("rtsp", rtsp);
}
public static int getSiteMode() {
return Prefers.getInt("site_mode", 1);
}

@ -159,6 +159,7 @@ public class ExoUtil {
if (drm != null) builder.setDrmConfiguration(drm.get());
builder.setAllowChunklessPreparation(Players.isHard(Players.EXO));
if (mimeType != null) builder.setMimeType(mimeType);
builder.setForceUseRtpTcp(Setting.getRtsp() == 1);
return builder.build();
}

@ -1,7 +1,7 @@
<resources xmlns:xliff="http://schemas.android.com/apk/res-auto">
<!-- App -->
<string name="app_name">影视</string>
<string name="app_name">OK影视</string>
<string name="app_exit">再按一次返回键退出</string>
<!-- Vod -->
@ -122,6 +122,7 @@
<string name="player_exo_tunnel">隧道模式</string>
<string name="player_exo_http">连线方式</string>
<string name="player_exo_buffer">缓冲时间</string>
<string name="player_rtsp">RTSP 通道</string>
<string name="player_ua">User-Agent</string>
<!-- Search -->
@ -309,4 +310,9 @@
<item>选择字幕</item>
</string-array>
<string-array name="select_rtsp">
<item>UDP</item>
<item>TCP</item>
</string-array>
</resources>

@ -1,7 +1,7 @@
<resources xmlns:xliff="http://schemas.android.com/apk/res-auto">
<!-- App -->
<string name="app_name">影視</string>
<string name="app_name">OK影視</string>
<string name="app_exit">再按一次返回鍵退出</string>
<!-- Vod -->
@ -122,6 +122,7 @@
<string name="player_exo_tunnel">隧道模式</string>
<string name="player_exo_http">連線方式</string>
<string name="player_exo_buffer">緩衝時間</string>
<string name="player_rtsp">RTSP 通道</string>
<string name="player_ua">User-Agent</string>
<!-- Search -->
@ -310,4 +311,9 @@
<item>選擇字幕</item>
</string-array>
<string-array name="select_rtsp">
<item>UDP</item>
<item>TCP</item>
</string-array>
</resources>

@ -1,7 +1,7 @@
<resources xmlns:tools="http://schemas.android.com/tools" xmlns:xliff="http://schemas.android.com/apk/res-auto" tools:ignore="MissingTranslation">
<!-- App -->
<string name="app_name">TV</string>
<string name="app_name">OKTV</string>
<string name="app_exit">Press back again to exit</string>
<!-- Vod -->
@ -122,6 +122,7 @@
<string name="player_exo_tunnel">Tunnel mode</string>
<string name="player_exo_http">HTTP method</string>
<string name="player_exo_buffer">Buffer time</string>
<string name="player_rtsp">RTSP channel</string>
<string name="player_ua">User-Agent</string>
<!-- Search -->
@ -314,4 +315,9 @@
<item>Select subtitle track</item>
</string-array>
<string-array name="select_rtsp">
<item>UDP</item>
<item>TCP</item>
</string-array>
</resources>

@ -36,6 +36,7 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B
private String[] scale;
private String[] http;
private String[] flag;
private String[] rtsp;
public static SettingPlayerFragment newInstance() {
return new SettingPlayerFragment();
@ -59,6 +60,7 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B
mBinding.bufferText.setText(String.valueOf(Setting.getBuffer()));
mBinding.subtitleText.setText(String.valueOf(Setting.getSubtitle()));
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()]);
mBinding.httpText.setText((http = ResUtil.getStringArray(R.array.select_exo_http))[Setting.getHttp()]);
mBinding.scaleText.setText((scale = ResUtil.getStringArray(R.array.select_scale))[Setting.getScale()]);
@ -72,6 +74,7 @@ public class SettingPlayerFragment extends BaseFragment implements UaCallback, B
@Override
protected void initEvent() {
mBinding.ua.setOnClickListener(this::onUa);
mBinding.rtsp.setOnClickListener(this::setRtsp);
mBinding.http.setOnClickListener(this::setHttp);
mBinding.flag.setOnClickListener(this::setFlag);
mBinding.scale.setOnClickListener(this::onScale);
@ -104,6 +107,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 setHttp(View view) {
int index = Setting.getHttp();
Setting.putHttp(index = index == http.length - 1 ? 0 : ++index);

@ -266,6 +266,33 @@
</LinearLayout>
<LinearLayout
android:id="@+id/rtsp"
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_rtsp"
android:textColor="@color/white"
android:textSize="16sp" />
<TextView
android:id="@+id/rtspText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:textColor="@color/white"
android:textSize="16sp"
tools:text="UDP" />
</LinearLayout>
<LinearLayout
android:id="@+id/flag"
android:layout_width="match_parent"

Loading…
Cancel
Save