2

Я играю видео с URL-адреса, и я хочу отключить отслеживание видеоролика. Как это можно сделать.Отключить поисковый запрос и искать обратную связь с mediacontroller android?

Это мой код:

videoUrl = "http://download.itcuties.com/teaser/itcuties-teaser-480.mp4"; 
    videoview.setVideoPath(videoUrl); 
    mediaController = new MediaController(this, false); 
    int topContainerId = getResources().getIdentifier("mediacontroller_progress", "id", "android"); 
    seekBarVideo=(SeekBar)mediaController.findViewById(topContainerId); 
    seekBarVideo.setEnabled(false); 
    mediaController.setAnchorView(videoview); 
    videoview.setMediaController(mediaController); 

В приложение падает: seekBarVideo.setEnabled (ложь);

java.lang.NullPointerException 
     at com.vfirst.offers.VideoBufferActivity.onClick(VideoBufferActivity.java:93) 
     at android.view.View.performClick(View.java:4575) 
     at android.view.View$PerformClick.run(View.java:18578) 
     at android.os.Handler.handleCallback(Handler.java:733) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5127) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641) 
     at dalvik.system.NativeStart.main(Native Method) 

ответ

2

Был в состоянии решить с помощью этого

Необходимо получить SeekBar в onPreparedListener из VideoView

videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      int topContainerId = getResources().getIdentifier("mediacontroller_progress", "id", "android"); 
      seekBarVideo = (SeekBar) mediaController.findViewById(topContainerId); 
      seekBarVideo.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
       @Override 
       public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 

       } 

       @Override 
       public void onStartTrackingTouch(SeekBar seekBar) { 
        seekBar.setEnabled(false); 
       } 

       @Override 
       public void onStopTrackingTouch(SeekBar seekBar) { 
        seekBar.setEnabled(false); 
       } 
      }); 
     } 
    }); 
2

Вы можете попробовать создать пользовательский интерфейс mediacontroller без брелка. Проверить этот пост how to create custom UI for android MediaController

или попробовать взломать, получить доступ к SeekBar и установить видимость GONE

final int progressBarId = getResources().getIdentifier("mediacontroller_progress", "id", "android"); 
final SeekBar seekbar = (SeekBar) mController.findViewById(progressBarId); 

EDIT

Попробуйте перекручивание через представление детей внутри MediaController, пока не найдешь искать бар, затем скрыть

private void styleMediaController(View view) { 
     if (view instanceof MediaController) { 
      MediaController v = (MediaController) view; 
      for(int i = 0; i < v.getChildCount(); i++) { 
       styleMediaController(v.getChildAt(i)); 
      } 
     } else 
     if (view instanceof LinearLayout) { 
      LinearLayout ll = (LinearLayout) view; 
      for(int i = 0; i < ll.getChildCount(); i++) { 
       styleMediaController(ll.getChildAt(i)); 
      } 
     } else if (view instanceof SeekBar) { 
      // set progress bar color 
      SeekBar seeker = (SeekBar) view; 
      //hide seekbar here 
     } 
    } 
+0

mController является объектом MediaController? – WISHY

+0

yes, объект MediaController – random

+0

Я получаю исключение nullpointer – WISHY

 Смежные вопросы

  • Нет связанных вопросов^_^