release
FongMi 3 weeks ago
parent b5329f1463
commit c057cb1426
  1. 20
      app/src/main/java/com/fongmi/android/tv/player/PlayerManager.java
  2. 11
      app/src/main/java/com/fongmi/android/tv/player/engine/ExoPlayerEngine.java
  3. 9
      app/src/main/java/com/fongmi/android/tv/player/engine/PlayerEngine.java
  4. 3
      app/src/main/java/com/fongmi/android/tv/player/exo/ExoUtil.java
  5. 1
      app/src/main/java/com/fongmi/android/tv/ui/base/PlaybackActivity.java

@ -6,7 +6,6 @@ import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.media3.common.MediaItem;
import androidx.media3.common.MediaMetadata;
import androidx.media3.common.MediaTitle;
import androidx.media3.common.PlaybackException;
import androidx.media3.common.Player;
import androidx.media3.common.Tracks;
@ -81,10 +80,6 @@ public class PlayerManager implements ParseCallback {
return engine.getCurrentTracks();
}
public List<MediaTitle> getCurrentMediaTitles() {
return engine.getCurrentMediaTitles();
}
public MediaItem getCurrentMediaItem() {
return player.getCurrentMediaItem();
}
@ -141,10 +136,6 @@ public class PlayerManager implements ParseCallback {
return engine.haveTrack(type);
}
public boolean haveTitle() {
return engine.haveTitle();
}
public boolean haveDanmaku() {
return getDanmakus() != null && getDanmakus().stream().anyMatch(Danmaku::isSelected);
}
@ -204,12 +195,6 @@ public class PlayerManager implements ParseCallback {
setMediaItem();
}
public void setTitle(MediaTitle title) {
if (spec != null) spec.setUrl(spec.getUri().buildUpon().fragment("title=" + title.index).build().toString());
setMediaItem();
seekTo(0);
}
public static MediaMetadata buildMetadata(String title, String artist, String artUri) {
Uri artwork = TextUtils.isEmpty(artUri) ? null : Uri.parse(artUri);
return new MediaMetadata.Builder().setTitle(title).setArtist(artist).setArtworkUri(artwork).build();
@ -397,11 +382,6 @@ public class PlayerManager implements ParseCallback {
initTrack = true;
}
@Override
public void onMediaTitlesChanged(@NonNull List<MediaTitle> titles) {
callback.onTitlesChanged();
}
@Override
public void onPlayerError(@NonNull PlaybackException e) {
PlayerEngine.ErrorAction action = engine.handleError(e);

@ -2,7 +2,6 @@ package com.fongmi.android.tv.player.engine;
import androidx.media3.common.MediaItem;
import androidx.media3.common.MediaMetadata;
import androidx.media3.common.MediaTitle;
import androidx.media3.common.PlaybackException;
import androidx.media3.common.Player;
import androidx.media3.common.Tracks;
@ -107,16 +106,6 @@ public class ExoPlayerEngine implements PlayerEngine {
return player.getCurrentTracks();
}
@Override
public boolean haveTitle() {
return !player.getCurrentMediaTitles().isEmpty();
}
@Override
public List<MediaTitle> getCurrentMediaTitles() {
return player.getCurrentMediaTitles();
}
@Override
public String getErrorMessage(PlaybackException e) {
return provider.get(e);

@ -1,7 +1,6 @@
package com.fongmi.android.tv.player.engine;
import androidx.media3.common.MediaMetadata;
import androidx.media3.common.MediaTitle;
import androidx.media3.common.PlaybackException;
import androidx.media3.common.Player;
import androidx.media3.common.Tracks;
@ -46,14 +45,6 @@ public interface PlayerEngine {
Tracks getCurrentTracks();
default boolean haveTitle() {
return false;
}
default List<MediaTitle> getCurrentMediaTitles() {
return Collections.emptyList();
}
String getErrorMessage(PlaybackException e);
ErrorAction handleError(PlaybackException e);

@ -44,11 +44,9 @@ import java.util.stream.Collectors;
public class ExoUtil {
public static void setPlayerView(PlayerView view) {
view.setRender(Setting.getRender());
view.getSubtitleView().setStyle(getCaptionStyle());
view.getSubtitleView().setApplyEmbeddedStyles(true);
view.getSubtitleView().setApplyEmbeddedFontSizes(false);
if (Setting.getSubtitlePosition() != 0) view.getSubtitleView().setBottomPosition(Setting.getSubtitlePosition());
if (Setting.getSubtitleTextSize() != 0) view.getSubtitleView().setFractionalTextSize(Setting.getSubtitleTextSize());
}
@ -76,7 +74,6 @@ public class ExoUtil {
public static String getMimeType(int errorCode) {
if (errorCode == PlaybackException.ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED || errorCode == PlaybackException.ERROR_CODE_PARSING_CONTAINER_MALFORMED || errorCode == PlaybackException.ERROR_CODE_IO_UNSPECIFIED) return MimeTypes.APPLICATION_M3U8;
if (errorCode == PlaybackException.ERROR_CODE_PARSING_MANIFEST_UNSUPPORTED || errorCode == PlaybackException.ERROR_CODE_PARSING_MANIFEST_MALFORMED) return MimeTypes.APPLICATION_OCTET_STREAM;
return null;
}

@ -208,7 +208,6 @@ public abstract class PlaybackActivity extends BaseActivity implements MediaCont
}
private void setRender() {
getExoView().setRender(Setting.getRender());
detachSurface();
attachSurface();
}

Loading…
Cancel
Save