2015-12-18 3 views
0

Мое видео воспроизводится в диалоговом окне при нажатии кнопки. Существует индикатор выполнения, который должен быть видимым до начала воспроизведения видео. Но когда приложение работает, индикатор воспроизведения не отображается до начала воспроизведения видео. Не знаете, в чем проблема? Мой кодИндикатор выполнения не отображается перед воспроизведением видео

mainactivity

public class MainActivity extends Activity 
{ 
VideoView videoview; 
ProgressBar progressBar; 
Context context; 
String VideoURL = "http://www.androidbegin.com/tutorial/AndroidCommercial.3gp"; 
@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Button btn = (Button) findViewById(R.id.mainButton); 
    btn.setOnClickListener(new OnClickListener(){ 
     @Override 
     public void onClick(View v){ 
      plyvido(); 

     } 
    }); 

} 
//@Override 
public void plyvido(){ 
    final Dialog dialog = new Dialog(MainActivity.this); 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.setContentView(R.layout.videodialog); 
    dialog.show(); 
    MediaController mediacontroller = new MediaController(
     MainActivity.this); 
    WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
     LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 

    lp.copyFrom(dialog.getWindow().getAttributes()); 

    dialog.getWindow().setAttributes(lp); 

    videoview = (VideoView) dialog.findViewById(R.id.videodialogVideoView); 
    progressBar = (ProgressBar) dialog.findViewById(R.id.progressbar); 
    mediacontroller.setAnchorView(videoview); 
    Uri uri = Uri.parse(VideoURL); 
    videoview.setZOrderOnTop(true); 
    videoview.setVideoURI(uri); 
    videoview.setMediaController(mediacontroller); 
    videoview.start(); 



    progressBar.setVisibility(View.VISIBLE); 
    videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
      @Override 
      public void onPrepared(MediaPlayer mp) { 
       // TODO Auto-generated method stub 
       mp.start(); 
       mp.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() { 
         @Override 
         public void onVideoSizeChanged(MediaPlayer mp, int arg1, 
                 int arg2) { 
          // TODO Auto-generated method stub 
          progressBar.setVisibility(View.GONE); 
          mp.start(); 
         } 
        }); 

      } 
     }); 


} 


} 

ответ

0

Это один для прогресса диалога спина стиль:
диалог ProgressDialog = новый ProgressDialog (getActivity()); dialog.setProgressStyle (ProgressDialog.STYLE_SPINNER); dialog.setMessage («Загрузка. Подождите ...»); dialog.setIndeterminate (true); dialog.setCanceledOnTouchOutside (false); dialog.show();

+0

Спасибо, что рассказал мне о спинстиле. Цените это очень. Но моя проблема не решена. – user5524159

1

move progressBar.setVisibility (View.VISIBLE); перед videoview = (VideoView) dialog.findViewById (R.id.videodialogVideoView);

+0

Пробовал, как вы сказали. Приложение аварийно завершает работу. Получение nullpointerexception в loggcat – user5524159

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