Android 如何使用EMVideoView获取内部视频大小
我通过ExoMedia库(com.devbrakets.android.ExoMedia)使用android的替代媒体播放器 它确实工作得很好,但似乎无法获得视频属性,例如宽度和高度,这对于将视频视图大小设置为视频的宽度和高度至关重要Android 如何使用EMVideoView获取内部视频大小,android,video,exoplayer,Android,Video,Exoplayer,我通过ExoMedia库(com.devbrakets.android.ExoMedia)使用android的替代媒体播放器 它确实工作得很好,但似乎无法获得视频属性,例如宽度和高度,这对于将视频视图大小设置为视频的宽度和高度至关重要 有办法检索它吗?解决方案是获取视频API子视图并对其进行操作: VideoViewApi videoViewImpl = (VideoViewApi)mButtonMediaVideo.findViewById( R.id.exomedia_video_view
有办法检索它吗?解决方案是获取视频API子视图并对其进行操作:
VideoViewApi videoViewImpl = (VideoViewApi)mButtonMediaVideo.findViewById( R.id.exomedia_video_view );
float videoWidth = videoViewImpl.getWidth();
float videoHeight = videoViewImpl.getHeight();
我在VideoView中找到了setOnVideoSizedChangedListener方法。我正在使用最新的库版本4.0.3,它在com.devbrakets.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));
}
});
如果你需要进一步的帮助,请告诉我