我对 ExoMedia 实施有疑问。这是这个基于 ExoPlayer 的非常好的视频播放器库的存储库。
https://github.com/brianwernick/ExoMedia
它解决了我在某些 Android 设备上流式传输视频的问题。
我唯一的问题是,我无法更改/控制默认媒体控制器。原始代码是:
private VideoView contentView;
contentView.setVideoURI(Uri.parse("http://127.0.0.1:54852/"));
MediaController mediaControllerView = new MediaController(this);
mediaControllerView.setAnchorView(contentView);
contentView.setMediaController(mediaControllerView);
它与漂亮的默认媒体控制器配合得很好。
看来,在将其更改为 VideoView 到 EMVideoView 后,它使用了 ExoPlayer 禁用的 setMediaController 方法。
private EMVideoView contentView;
contentView.setVideoURI(Uri.parse("http://127.0.0.1:54852/"));
MediaController mediaControllerView = new MediaController(this);
mediaControllerView.setAnchorView(contentView);
*contentView.setMediaController(mediaControllerView);* <-- no such method
EMVideoView 没有实现它。我只能设置使用默认控件
contentView.setDefaultControlsEnabled(true);
如果我设置为 false,则不显示任何控件,并且无法控制播放。我找不到方法,如何将 MediaController 添加到 EMVideoView。
更改它的主要原因是 EMVideoView 中使用的控制器具有完全透明的背景,并且在某些视频中根本不可见。VideoView 的标准具有漂亮的灰色背景,最好使用它们。