Я использую ClippingMediaSource
из Exoplayer для обрезки видео и их воспроизведения.
Вот соответствующий фрагмент кода
public MediaSource prepareMediaSource(File file){
return new ExtractorMediaSource.Factory(new DefaultDataSourceFactory(context, "app-agent"))
.createMediaSource(Uri.fromFile(file));
}
public MediaSource prepareTrimmedMediaSource(File file, long start, long end) {
if (end < 0) //If end value is less than 0, play till the end of video
end = C.TIME_END_OF_SOURCE;
return new ClippingMediaSource(prepareMediaSource(file), start, end);
}
Проблема в том, что, если я передам значение, превышающее длительность видео, методу prepareTrimmedMediaSource()
в качестве времени начала отсечения (например, начало обрезки по 30 секунд для видео продолжительностью 20 секунд), оно не будет отображаться. ошибки, или выбросить любые исключения. Как я могу справиться с этой ситуацией?