diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
index 56bbd1ddb..9ad37817a 100644
--- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
+++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
@@ -204,6 +204,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
mBinding.video.setOnClickListener(view -> onVideo());
mBinding.control.text.setOnClickListener(this::onTrack);
mBinding.control.audio.setOnClickListener(this::onTrack);
+ mBinding.control.video.setOnClickListener(this::onTrack);
mBinding.control.next.setOnClickListener(view -> checkNext());
mBinding.control.prev.setOnClickListener(view -> checkPrev());
mBinding.control.scale.setOnClickListener(view -> onScale());
@@ -778,6 +779,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private void setTrackVisible(boolean visible) {
mBinding.control.text.setVisibility(visible && mPlayers.haveTrack(C.TRACK_TYPE_TEXT) ? View.VISIBLE : View.GONE);
mBinding.control.audio.setVisibility(visible && mPlayers.haveTrack(C.TRACK_TYPE_AUDIO) ? View.VISIBLE : View.GONE);
+ mBinding.control.video.setVisibility(visible && mPlayers.haveTrack(C.TRACK_TYPE_VIDEO) ? View.VISIBLE : View.GONE);
}
private void setDefaultTrack() {
diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
index 766fb507b..79321fe07 100644
--- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
+++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
@@ -151,6 +151,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
mBinding.control.seek.setListener(mPlayers);
mBinding.control.text.setOnClickListener(this::onTrack);
mBinding.control.audio.setOnClickListener(this::onTrack);
+ mBinding.control.video.setOnClickListener(this::onTrack);
mBinding.control.home.setOnClickListener(view -> onHome());
mBinding.control.scale.setOnClickListener(view -> onScale());
mBinding.control.speed.setOnClickListener(view -> onSpeed());
@@ -674,6 +675,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void setTrackVisible(boolean visible) {
mBinding.control.text.setVisibility(visible && mPlayers.haveTrack(C.TRACK_TYPE_TEXT) ? View.VISIBLE : View.GONE);
mBinding.control.audio.setVisibility(visible && mPlayers.haveTrack(C.TRACK_TYPE_AUDIO) ? View.VISIBLE : View.GONE);
+ mBinding.control.video.setVisibility(visible && mPlayers.haveTrack(C.TRACK_TYPE_VIDEO) ? View.VISIBLE : View.GONE);
}
@Subscribe(threadMode = ThreadMode.MAIN)
diff --git a/app/src/leanback/res/layout/view_control_live.xml b/app/src/leanback/res/layout/view_control_live.xml
index 11005cdff..1294932fe 100644
--- a/app/src/leanback/res/layout/view_control_live.xml
+++ b/app/src/leanback/res/layout/view_control_live.xml
@@ -158,6 +158,22 @@
android:visibility="gone"
tools:visibility="visible" />
+
+
+
+
准备播放:%s
字幕
音轨
+ 视轨
反转
跨类
片头片尾
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 4eaa223e9..b52dfb1e8 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -43,6 +43,7 @@
準備播放:%s
字幕
音軌
+ 視軌
反轉
跨類
片頭片尾
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 04cc8f412..18679904c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -43,6 +43,7 @@
Ready to play: %s
Text
Audio
+ Video
Invert
Across
OP&ED
diff --git a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java
index 1d22a9e8e..1c34c0616 100644
--- a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java
+++ b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/ITrackInfo.java
@@ -24,15 +24,5 @@ public interface ITrackInfo {
int MEDIA_TRACK_TYPE_VIDEO = 2;
int MEDIA_TRACK_TYPE_TEXT = 3;
- IMediaFormat getFormat();
-
- String getLanguage();
-
int getTrackType();
-
- int getChannelCount();
-
- int getBitrate();
-
- String getInfoInline();
}
diff --git a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java
index 3bb7d5153..bf197bdd7 100644
--- a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java
+++ b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/misc/IjkTrackInfo.java
@@ -19,8 +19,6 @@ package tv.danmaku.ijk.media.player.misc;
import android.text.TextUtils;
-import androidx.annotation.NonNull;
-
import tv.danmaku.ijk.media.player.IjkMediaMeta;
public class IjkTrackInfo implements ITrackInfo {
@@ -42,77 +40,37 @@ public class IjkTrackInfo implements ITrackInfo {
}
}
- @Override
public IMediaFormat getFormat() {
return new IjkMediaFormat(mStreamMeta);
}
- @Override
public String getLanguage() {
if (mStreamMeta == null || TextUtils.isEmpty(mStreamMeta.mLanguage)) return "und";
return mStreamMeta.mLanguage;
}
- @Override
public int getChannelCount() {
return mStreamMeta.getChannelCount();
}
- @Override
public int getBitrate() {
return (int) mStreamMeta.mBitrate;
}
- @Override
- public int getTrackType() {
- return mTrackType;
+ public int getWidth() {
+ return mStreamMeta.mWidth;
}
- public void setTrackType(int trackType) {
- mTrackType = trackType;
+ public int getHeight() {
+ return mStreamMeta.mHeight;
}
- @NonNull
@Override
- public String toString() {
- return getClass().getSimpleName() + '{' + getInfoInline() + "}";
+ public int getTrackType() {
+ return mTrackType;
}
- @Override
- public String getInfoInline() {
- StringBuilder out = new StringBuilder(128);
- switch (mTrackType) {
- case MEDIA_TRACK_TYPE_VIDEO:
- out.append("VIDEO");
- out.append(", ");
- out.append(mStreamMeta.getCodecShortNameInline());
- out.append(", ");
- out.append(mStreamMeta.getBitrateInline());
- out.append(", ");
- out.append(mStreamMeta.getResolutionInline());
- break;
- case MEDIA_TRACK_TYPE_AUDIO:
- out.append("AUDIO");
- out.append(", ");
- out.append(mStreamMeta.getCodecShortNameInline());
- out.append(", ");
- out.append(mStreamMeta.getBitrateInline());
- out.append(", ");
- out.append(mStreamMeta.getSampleRateInline());
- out.append(", ");
- out.append(mStreamMeta.getChannelLayoutInline());
- break;
- case MEDIA_TRACK_TYPE_TEXT:
- out.append("TIMEDTEXT");
- out.append(", ");
- out.append(mStreamMeta.getCodecShortNameInline());
- out.append(", ");
- out.append(mStreamMeta.mLanguage);
- break;
- default:
- out.append("UNKNOWN");
- break;
- }
- return out.toString();
+ public void setTrackType(int trackType) {
+ mTrackType = trackType;
}
}