pull/419/head
okjack 2 years ago
parent 38ec381d76
commit fcf61cdfbd
  1. 19
      app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java

@ -27,6 +27,7 @@ import androidx.media3.exoplayer.DefaultRenderersFactory;
import androidx.media3.exoplayer.ExoPlayer;
import androidx.media3.exoplayer.LoadControl;
import androidx.media3.exoplayer.RenderersFactory;
import androidx.media3.exoplayer.source.ConcatenatingMediaSource2;
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.exoplayer.trackselection.DefaultTrackSelector;
@ -121,7 +122,25 @@ public class ExoUtil {
return null;
}
private static MediaSource getConcatSource(Result result, Sub sub, int errorCode) {
String url = result.getRealUrl();
String[] urls = url.split("\\*\\*\\*");
ConcatenatingMediaSource2.Builder concatenatingMediaSource = new ConcatenatingMediaSource2.Builder();
for(String one : urls) {
if (TextUtils.isEmpty(one)) continue;
String[] oneInfo = one.split("\\|\\|\\|");
if (oneInfo.length < 2) continue;
String oneUrl = oneInfo[0];
String oneDuration = oneInfo[1];
long duration = Long.parseLong(oneDuration);
concatenatingMediaSource.add(getSource(result.getHeaders(), oneUrl, result.getFormat(), result.getSubs(), sub, null, errorCode), duration);
}
return concatenatingMediaSource.build();
}
public static MediaSource getSource(Result result, Sub sub, int errorCode) {
String url = result.getRealUrl();
if (url.contains("***")) return getConcatSource(result, sub, errorCode);
return getSource(result.getHeaders(), result.getRealUrl(), result.getFormat(), result.getSubs(), sub, null, errorCode);
}

Loading…
Cancel
Save