【发布时间】:2023-06-23 12:22:01
【问题描述】:
我有一个网址,它每 3 秒更改一次。我每 2 秒向 url 发出一次请求并刷新 url。 3秒成为有效的m3u8文件。只有url中的查询参数每3秒改变一次。我返回的是同一个帖子,只是一个不同的链接。
DataSource.Factory dataSourceFactory = new DefaultHttpDataSourceFactory();
HlsMediaSource hlsMediaSource =
new HlsMediaSource.Factory(dataSourceFactory)
.createMediaSource(MediaItem.fromUri(dataItem.getVideo()));
concatenatingMediaSource = new ConcatenatingMediaSource();
concatenatingMediaSource.addMediaSource(hlsMediaSource);
player.setMediaSource(concatenatingMediaSource);
player.prepare();
player.setPlayWhenReady(true);
private void setLiveStreamData(String id) {
Call<LiveStreamData> liveStreamDataCall = RetrofitBuilder.newCreate().getStreamLive(id);
liveStreamDataCall.enqueue(new Callback<LiveStreamData>() {
@Override
public void onResponse(@NotNull Call<LiveStreamData> call, @NotNull Response<LiveStreamData> response) {
if (response.isSuccessful() && response.body() != null) {
DataSource.Factory dataSourceFactory = new DefaultHttpDataSourceFactory();
HlsMediaSource hlsMediaSource =
new HlsMediaSource.Factory(dataSourceFactory)
.createMediaSource(MediaItem.fromUri(response.body().getUrl()));
concatenatingMediaSource.addMediaSource(hlsMediaSource);
}
}
@Override
public void onFailure(@NotNull Call<LiveStreamData> call, @NotNull Throwable t) {
Log.e(TAG, "onFailure: ", t);
}
});
}
我可能无法正确添加 exoplayer。因为 3 秒后 exoplayer 继续播放第一个链接并给出错误。 3 秒后,旧 url 不再返回 m3u8 文件。 如何正确设置这样的结构?
Playback error
com.google.android.exoplayer2.ExoPlaybackException: Source error
【问题讨论】:
标签: android http-live-streaming exoplayer