Cómo mostrar controles de video en ExoMedia Library

Estoy usando la biblioteca de ExoMedia para jugar el hls en mi aplicación de Android. Pero no puedo mostrar los controles de video como el button de búsqueda, solo muestra el button Reproducir y nada más. Cuando bash usar EMVideoView, la aplicación falla. Estoy usando Android Studio Canary 4. Aquí está el código

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <com.devbrackets.android.exomedia.ui.widget.VideoView android:id="@+id/video_view" android:layout_width="match_parent" android:layout_height="match_parent" app:useDefaultControls="true"/> </RelativeLayout> 

Aquí si en lugar de VideoView uso EMVideoView, la aplicación se bloquea.

  public class ExternalPlayer extends AppCompatActivity implements OnPrepanetworkingListener { private FullScreenListener fullScreenListener = new FullScreenListener(); private VideoView videoView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_external_player); setupVideoView(); initUiFlags(); if (videoView.getVideoControls() != null) { videoView.getVideoControls().setVisibilityListener(new ControlsVisibilityListener()); } } private void setupVideoView() { // Make sure to use the correct VideoView import Intent intent = getIntent(); String link = intent.getStringExtra("url"); videoView = (VideoView)findViewById(R.id.video_view); videoView.setOnPrepanetworkingListener(ExternalPlayer.this); videoView.showControls(); //Uri coming from MOMScreen to play videoView.setVideoURI(Uri.parse(link)); } @Override public void onPrepanetworking() { videoView.start(); } @Override public void onDestroy() { super.onDestroy(); exitFullscreen(); } private void goFullscreen() { setUiFlags(true); } private void exitFullscreen() { setUiFlags(false); } private void initUiFlags() { int flags = View.SYSTEM_UI_FLAG_VISIBLE; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { flags |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; } View decorView = getWindow().getDecorView(); if (decorView != null) { decorView.setSystemUiVisibility(flags); decorView.setOnSystemUiVisibilityChangeListener(fullScreenListener); } } @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) private void setUiFlags(boolean fullscreen) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { View decorView = getWindow().getDecorView(); if (decorView != null) { decorView.setSystemUiVisibility(fullscreen ? getFullscreenUiFlags() : View.SYSTEM_UI_FLAG_VISIBLE); } } } @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) private int getFullscreenUiFlags() { int flags = View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { flags |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; } return flags; } private class FullScreenListener implements View.OnSystemUiVisibilityChangeListener { @Override public void onSystemUiVisibilityChange(int visibility) { if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { videoView.showControls(); } } } private class ControlsVisibilityListener implements VideoControlsVisibilityListener { @Override public void onControlsShown() { // No additional functionality performed } @Override public void onControlsHidden() { goFullscreen(); } } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } 

}

He intentado todos los methods para mostrar el control según mi conocimiento, pero ninguno de ellos funcionó. Cualquier sugerencia por favor ….

Yo también estaba enfrentando el mismo problema. Luego se arregló con la ayuda del repository a continuación. También puedes referirlo, si eres otro. Puede ser de ayuda.

https://github.com/brianwernick/ExoMedia

Los controles de video se explican en el siguiente enlace. https://devbrackets.com/dev/libs/docs/exomedia/3.1.0/com/devbrackets/android/exomedia/ui/widget/VideoControls.html#setNextButtonEnabled-boolean-

más específicamente setNextButtonEnabled () y setNextButtonRemoved ()