我怎样才能让变形视频与 exoplayer leanback 一起使用?
How can I get anamorphic video to work with exoplayer leanback?
我正在播放本应以 16x9 显示的 720x480 视频。它显示垂直压缩,就好像它使用方形像素一样。我添加了一个带有 onVideoSizeChanged 方法的 VideoListener。使用正确的值 720 480 1.1851852 调用该方法。奇怪的是,如果我在该方法中设置断点,当它在播放开始时遇到断点时,视频会以正确的形状显示和播放,但是一旦允许该方法继续,视频就会转移到错误的大小。我的应用程序基于 https://github.com/android/tv-samples/tree/master/Leanback 处的示例代码存在此问题。
我尝试调用 view.setScaleX(pixelWidthHeightRatio);在 onVideoSizeChanged 回调中,见下文。这导致视频向左移动但纵横比仍然错误。
我尝试添加设置视频缩放代码,但我相信这是默认设置。
创建 mPlayer 后 -
mPlayer.addVideoListener(new MyVideoListener());
听众class
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);
}
}
exoplayer leanback 扩展中存在错误。我提交了一个拉取请求来修复它: github.com/google/ExoPlayer/pull/6578 。此拉取请求现已提交给 Excoplayer,问题已解决。
我正在播放本应以 16x9 显示的 720x480 视频。它显示垂直压缩,就好像它使用方形像素一样。我添加了一个带有 onVideoSizeChanged 方法的 VideoListener。使用正确的值 720 480 1.1851852 调用该方法。奇怪的是,如果我在该方法中设置断点,当它在播放开始时遇到断点时,视频会以正确的形状显示和播放,但是一旦允许该方法继续,视频就会转移到错误的大小。我的应用程序基于 https://github.com/android/tv-samples/tree/master/Leanback 处的示例代码存在此问题。
我尝试调用 view.setScaleX(pixelWidthHeightRatio);在 onVideoSizeChanged 回调中,见下文。这导致视频向左移动但纵横比仍然错误。
我尝试添加设置视频缩放代码,但我相信这是默认设置。
创建 mPlayer 后 -
mPlayer.addVideoListener(new MyVideoListener());
听众class
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);
}
}
exoplayer leanback 扩展中存在错误。我提交了一个拉取请求来修复它: github.com/google/ExoPlayer/pull/6578 。此拉取请求现已提交给 Excoplayer,问题已解决。