Как я могу получить анаморфное видео для работы с откатом exoplayer? - PullRequest
0 голосов
/ 22 октября 2019

Я играю видео 720x480, которое должно быть показано в формате 16x9. Он отображается вертикально сжатым, как если бы он использовал квадратные пиксели. Я добавил VideoListener с методом onVideoSizeChanged. Этот метод вызывается с правильными значениями 720 480 1.1851852. Странно то, что если я установил точку останова в этом методе, когда он достигнет точки останова во время начала воспроизведения, видео будет отображаться и воспроизводиться с правильной формой, но как только этот метод будет разрешен для продолжения, видео переходит нанеправильный размер. Эта проблема существует с примером кода на https://github.com/android/tv-samples/tree/master/Leanback, на котором я основываю свое приложение.

Я попытался вызвать view.setScaleX (pixelWidthHeightRatio);в обратном вызове onVideoSizeChanged, см. ниже. Это привело к смещению видео влево, но по-прежнему имеет неправильное соотношение сторон.

Я попытался добавить настройку кода масштабирования видео, но, по-моему, он установлен по умолчанию.

После создания mPlayer -

    mPlayer.addVideoListener(new MyVideoListener());

класс слушателя

private class MyVideoListener implements VideoListener {
    @Override
    public void onVideoSizeChanged(int width, int height,
        int unappliedRotationDegrees, float pixelWidthHeightRatio) {

        SurfaceView view = getSurfaceView();
        float scaleX = view.getScaleX();
        if (scaleX != pixelWidthHeightRatio)
            view.setScaleX(pixelWidthHeightRatio);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...