1
최근 안드로이드 애플리케이션에서 ExoPlayer를 사용하기 시작했는데, 문제는 ExoPlayer가 URL로 소스 유형을 자동으로 인식하지 못한다는 것입니다.ExoPlayer를 URL로 소스 유형을 인식하게 만드는 방법은 무엇입니까?
URL을 전달할 수있는 솔루션이 있습니까? ExoPlayer는 자동으로이를 재생하는 방법을 정의합니다 (비디오 또는 HLS 스트림).
최근 안드로이드 애플리케이션에서 ExoPlayer를 사용하기 시작했는데, 문제는 ExoPlayer가 URL로 소스 유형을 자동으로 인식하지 못한다는 것입니다.ExoPlayer를 URL로 소스 유형을 인식하게 만드는 방법은 무엇입니까?
URL을 전달할 수있는 솔루션이 있습니까? ExoPlayer는 자동으로이를 재생하는 방법을 정의합니다 (비디오 또는 HLS 스트림).
private MediaSource buildMediaSource(Uri uri, String overrideExtension) {
int type = TextUtils.isEmpty(overrideExtension) ? Util.inferContentType(uri)
: Util.inferContentType("." + overrideExtension);
switch (type) {
case C.TYPE_SS:
return new SsMediaSource(uri, buildDataSourceFactory(false),
new DefaultSsChunkSource.Factory(mediaDataSourceFactory), mainHandler, eventLogger);
case C.TYPE_DASH:
return new DashMediaSource(uri, buildDataSourceFactory(false),
new DefaultDashChunkSource.Factory(mediaDataSourceFactory), mainHandler, eventLogger);
case C.TYPE_HLS:
return new HlsMediaSource(uri, mediaDataSourceFactory, mainHandler, eventLogger);
case C.TYPE_OTHER:
return new ExtractorMediaSource(uri, mediaDataSourceFactory, new DefaultExtractorsFactory(),
mainHandler, eventLogger);
default: {
throw new IllegalStateException("Unsupported type: " + type);
}
}
}