android - 如何使用 EMVideoView 获取内部视频大小

标签 android video exoplayer

我通过 ExoMedia 库 (com.devbrackets.android.exomedia) 使用 Android 的替代媒体播放器

它确实工作得很好,但似乎无法获取视频属性,例如宽度和高度,这对于例如将视频 View 大小设置为视频来说至关重要。

有办法找回吗?

最佳答案

我在VideoView中找到了setOnVideoSizedChangedListener方法。我使用的是最新的库版本 4.0.3,它在 com.devbrackets.android.exomedia.ui.widget 包下使用 VideoView 而不是 EMVideoView。

在setOnVideoSizedChangedListener方法中,我能够获取视频的原始宽度和高度。

以下是有关如何获取视频大小的代码示例。

videoView.setOnVideoSizedChangedListener(new OnVideoSizeChangedListener() {
        @Override
        public void onVideoSizeChanged(int intrinsicWidth, int intrinsicHeight) {
            Log.d("Original Video Size", "width: " + String.valueOf(intrinsicWidth) + ", " + "height: " + String.valueOf(intrinsicHeight));
            float aspectRatio = intrinsicWidth / intrinsicHeight;
            int actualHeight = (int) (videoView.getWidth() * aspectRatio);
            Log.d("VideoView Height", String.valueOf(actualHeight));
        }
    });

如果您需要任何进一步的帮助,请告诉我。

关于android - 如何使用 EMVideoView 获取内部视频大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41264830/

相关文章:

android - ExoPlayer - 在 DefaultTimeBar 中改变拇指

java - 在 Eclipse AVD 中运行应用程序

android - Realm android executeTransactionAsync 不调用 onSuccess

android - 如何为 Android 中的 View 分配动态 ID?

html - HTML5 中的直播视频

android - DummyDataSource无法打开: Android ExoPlayer

android - 错误 :Project :app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project

java - android Intent 给出空指针异常

c++ - 在 Qt5 中使用 MPlayer

video - 是否有用于 43 行或更多行的标准 BIOS Int 10h 视频模式?