Я использую Exoplayer для воспроизведения видео в своем приложении, я хочу изменить скорость воспроизведения, для которой Exoplayer предоставляет прямое решение: < /p>
val playbackParameters = PlaybackParameters(whateverSpeedFloat)
exoPlayer.setPlaybackParameters(playbackParameters)
< /code>
Теперь это работает, но проблема, с которой у меня есть, заключается в том, что эффект не является непосредственным, когда вы изменяете скорость, для изменения фактической скорости требуется несколько кадров. Я предполагаю, что это потому, что некоторые из кадров предварительно загружаются или буферизированы, а параметры воспроизведения установки влияют только на кадры после этого. Но, если я нажимаю на остановку, изменяю скорость от 0,5x на 2x и ищите другую точку в видео, и нажимайте воспроизведение, она отлично работает, нет задержки. Я предполагаю, что он перезагружает/буферизирует новые рамки с правильными параметрами воспроизведения. Я пытался сделать < /p>
exoPlayer.clearVideoDecoderOutputBufferRenderer()
< /code>
После изменения скорости, чтобы попытаться отпорировать кадры после установки параметров воспроизведения, но, похоже, ничего не меняет.
Есть идеи о том, как это исправить? Или другие библиотеки видеоплееров, у которых не было бы этой проблемы?
Подробнее здесь: https://stackoverflow.com/questions/637 ... parameters