2014-10-06 5 views
0

Привет в моем приложении для Android. Я использую videoview для потоковой передачи моих видео. Мне очень не нравится поведение моего видео. Сценарий выглядит следующим образом. У меня есть активность A и активность B. Активность A имеет одну простую кнопку, и при нажатии этой кнопки я начинаю деятельность B, которая содержит видео и начинает воспроизводить видео, как только начнется моя деятельность. Поэтому мое наблюдение выглядит следующим образом: как только я начну деятельность B, он назовет setVideoURI и start(). существует несколько методов обратного вызова, один из которых - setOnPreparedListener. когда я звоню start() через некоторое время Выполняется setOnPreparedListener, после чего он начнет воспроизводить видео. Но между ними перед выполнением setOnPreparedListener, если я вернусь к Activity A, он некоторое время заблокирует этот пользовательский интерфейс активности. Но если я подожду до тех пор, пока setOnPreparedListener не исполнится, а затем вернемся к Activity A, тогда он будет работать правильно. Это не происходит со всеми устройствами только с устройствами Google, такими как moto g и nexus. Но я попытался с помощью htc или intel-устройства работать нормально. Мой код выглядит так:Android videoview вызывает блокировку элементов пользовательского интерфейса

VideoView mVideoView =(VideoView)findViewById(R.id.myVideo); 

       //Creating MediaController 
     MediaController mediaController= new MediaController(this); 
      mediaController.setAnchorView(mVideoView);   

     //specify the location of media file 
    Uri uri=Uri.parse("http://abcExample.com/playlist.m3u8");   

     //Setting MediaController and URI, then starting the videoView 
    mVideoView.setMediaController(mediaController); 
    mVideoView.setVideoURI(uri);   
    mVideoView.requestFocus(); 
    mVideoView.start(); 


    mVideoView.setOnErrorListener(new OnErrorListener() { 

      @Override 
      public boolean onError(MediaPlayer mp, int what, int extra) { 

       Log.i("this is video view sample ... ", "this is video view sample ... this is on error listener "); 
       return true; 
      } 
     }); 

     mVideoView.setOnPreparedListener(new OnPreparedListener() 
     { 
      @Override 
      public void onPrepared(MediaPlayer mp) 
      { 
       Log.i("this is video view sample ... ", "this is video view sample ... this is on prepared listener "); 
      } 
     }); 

     mVideoView.setOnCompletionListener(new OnCompletionListener() 
     { 
      @Override 
      public void onCompletion(MediaPlayer mp) 
      { 
       Log.i("this is video view sample ... ", "this is video view sample ... this is on complete listener "); 
      } 
     }); 

Я пропустил что-то или что-то не так? Нужна помощь. Спасибо.

+0

Кто-нибудь знает об этом? – nilkash

+0

Я тестировал видеоролики mp4 и hls. Для hls-видео он задает этот вопрос, иначе для mp4 он работает нормально. – nilkash

ответ

0

У меня такое же поведение с видеоизображением. Я искал решение, но ничего не нашел. Возможно, возможно, что создание новой задачи исправить эту проблему. Я попробую

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