Код: Выделить всё
> https://something.com/test/something.m3u8
Но требования изменились, и в соответствии с этим изменился «формат URL-адреса» видео, добавив в запрос некоторые части, связанные с аутентификацией. параметр URL.
Код: Выделить всё
> https://something.com/test/something.m3u8?media-auth=exp=1623782763942~acl=/test/7dede44-djnjcndncj/*~hmac=3232434242
Журнал ошибок показывает эту ошибку.
2021-05-06 08:42:12.395 7020-7220/? E/ExoPlayerImplInternal: ошибка источника.
com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: код ответа: 403
в com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource. java:211)
в com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:141)
at com.google.android.exoplayer2.upstream.DataSourceInputStream.checkOpened(DataSourceInputStream.java:102)
at com.google.android.exoplayer2.upstream.DataSourceInputStream.open(DataSourceInputStream.java:65)
at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:125)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
в java.lang.Thread.run(Thread.java:764)
06.05.2021 08:42: 12.396 7020-7020/? E/VideoPlayerView: onError
Код: Выделить всё
HlsSource sourceHLS = new HlsSource(videoQuiz.video.id(),
videoQuiz.video.title(),
VideoHelper.prepareHlsVideoUriWithQuery("video URL"),
HlsSource.TIME_UNSET,
0,
HlsSource.TIME_UNSET,
0L, null);
videoPlayerView.start(sourceHLS,
toUri(thumbnailUrl),
autoPlay,
getCurrentSegmentStartPosition());
showQuestionAt(currentQuestionPosition);
Код: Выделить всё
public static Uri prepareHlsVideoUriWithQuery(String thisUrl) {
URL url = null;
try {
url = new URL("video URL");
} catch (MalformedURLException e) {
e.printStackTrace();
}
Uri.Builder builder = new Uri.Builder()
.scheme(url.getProtocol())
.encodedAuthority(url.getAuthority())
.encodedPath(url.getPath().substring(1))
.encodedQuery("video-auth=exp=24244~test=/test/232323-3232323/*~test=24242c0232n3223");
return builder.build();
}
и любые мысли об установке mimetype опишите здесь Android HLS видео тип пантомимы
Подробнее здесь: https://stackoverflow.com/questions/674 ... ameterauth
Мобильная версия