2016-12-21 51 views
0

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

这真是伟大工程,得到内部视频大小,但似乎有没有获取视频的方式属性,例如宽度和高度,这对于将视频视图大小设置为视频至关重要。

有没有办法检索它?

回答

0

解决方案是让视频API子视图和对操作:

VideoViewApi videoViewImpl = (VideoViewApi)mButtonMediaVideo.findViewById(R.id.exomedia_video_view); 
float videoWidth = videoViewImpl.getWidth(); 
float videoHeight = videoViewImpl.getHeight(); 
1

我发现setOnVideoSizedChangedListener方法VideoView。我正在使用最新的库版本4.0.3,它使用VideoView替代com.devbrackets.android.exomedia.ui.widget包中的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)); 
     } 
    }); 

请让我知道如果您需要任何进一步的帮助。