Привет, ребята, на сегодняшний день видеоплеер 10.8 не поддерживает включенные файлы srt в контейнере .mkv. Английский sh не мой родной язык, и я использую много .mkv с .srt внутри него. Exoplayer, на котором основан видеопроигрыватель android, имеет встроенную поддержку через SubtitleView.
Поэтому я решил изменить исходный видеоплеер и добавил exoplayer-ui в android / build.gradle
dependencies {
implementation 'com.google.android.exoplayer:exoplayer-core:2.9.6'
implementation 'com.google.android.exoplayer:exoplayer-hls:2.9.6'
implementation 'com.google.android.exoplayer:exoplayer-dash:2.9.6'
implementation 'com.google.android.exoplayer:exoplayer-smoothstreaming:2.9.6'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.9.6'
}
, а затем изменил video_player-0.10.8 + 1 / android / src / main / java / io / flutter / plugins / videoplayer / VideoPlayer. java и добавил
import com.google.android.exoplayer2.ui.SimpleExoPlayerView;
import com.google.android.exoplayer2.ui.PlayerView;
import com.google.android.exoplayer2.ui.SubtitleView;
добавил мои глобальные переменные ...
private PlayerView simpleExoPlayerView;
private SubtitleView subs;
private SimpleExoPlayer exoPlayer;
, а затем создали их ...
exoPlayer = ExoPlayerFactory.newSimpleInstance(context, trackSelector);
simpleExoPlayerView = new PlayerView(context);
и, наконец, установили мой плеер на exoplayer, как я бы это делал на нативном exoplayer android development
surface = new Surface(textureEntry.surfaceTexture());
exoPlayer.setVideoSurface(surface);
simpleExoPlayerView.setPlayer(exoPlayer);
subs = simpleExoPlayerView.getSubtitleView();
subs.setVisibility(View.VISIBLE);
Мой код компилируется, но я получаю аудио от mov ie, который я играю с BLACKSCREEN, поэтому файл фактически воспроизводится. Я знаю, что моя проблема зависит от поверхности, которую я создаю, и я попробовал пару вещей, которые не работали. Любые идеи, как я мог бы использовать SubtitleView для использования моего файла SRT в контейнере .mkv?
Спасибо!