2013-11-08 4 views
0

Я работаю над одним приложением, в котором есть требование 4 видеовидео на одном экране, вид похож на четыре квадрата sqaure на одном экране Я снял 4 видеоизображения в одном действии вот кодНесколько видов видео в одиночной активности андроида

vid1 = (VideoView) mView.findViewById(R.id.vid1); 
     vid2 = (VideoView) mView.findViewById(R.id.vid2); 
     vid3 = (VideoView) mView.findViewById(R.id.vid3); 
     vid4 = (VideoView) mView.findViewById(R.id.vid4); 

private void PlayVideo() { 
     lnrVideoPlayback.setVisibility(View.VISIBLE); 
     Thread t1 = null, t2 = null, t3 = null, t4 = null; 
     if (prefsVideo.getString("v1URI", null) != null) { 

      vid1.setVideoURI(Uri.parse(prefsVideo.getString("v1URI", null))); 
//   vid1.setLayoutParams(new LinearLayout.LayoutParams(getResources() 
//     .getDimensionPixelSize(R.dimen.boxviewheight), 
//     getResources().getDimensionPixelSize(R.dimen.boxviewheight))); 

      vid1.setVisibility(View.VISIBLE); 
      t1 = new Thread(new Runnable() { 

       @Override 
       public void run() { 
        android.os.Process 
          .setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_DISPLAY); 

        vid1.start(); 

       } 
      }); 
     } 
     if (prefsVideo.getString("v2URI", null) != null) { 
      vid2.setVideoURI(Uri.parse(prefsVideo.getString("v2URI", null))); 
      vid2.setMediaController(new MediaController(getActivity())); 
      vid2.setVisibility(View.VISIBLE); 
      t2 = new Thread(new Runnable() { 

       @Override 
       public void run() { 
        android.os.Process 
          .setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_DISPLAY); 
        vid2.start(); 
       } 
      }); 
     } 
     if (prefsVideo.getString("v3URI", null) != null) { 
      vid3.setVideoURI(Uri.parse(prefsVideo.getString("v3URI", null))); 
      vid3.setMediaController(new MediaController(getActivity())); 
      vid3.setVisibility(View.VISIBLE); 
      t3 = new Thread(new Runnable() { 

       @Override 
       public void run() { 
        android.os.Process 
          .setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_DISPLAY); 
        vid3.start(); 
       } 
      }); 
     } 
     if (prefsVideo.getString("v4URI", null) != null) { 
      vid4.setVideoURI(Uri.parse(prefsVideo.getString("v4URI", null))); 
      vid4.setMediaController(new MediaController(getActivity())); 
      vid4.setVisibility(View.VISIBLE); 
      t4 = new Thread(new Runnable() { 

       @Override 
       public void run() { 
        android.os.Process 
          .setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_DISPLAY); 

        vid4.start(); 
       } 
      }); 
     } 

     t1.start(); 
     t2.start(); 
     t3.start(); 
     t4.start(); 

    } 

когда я играю одного видео, чем его играли правильно, когда я играл 4 видео вместе он показывает мне сообщение «Video Брус воспроизведения» во всех 4 видео

ответ

1

это зависит от системная/каркасная реализация вашего устройства.

  1. Максимальное количество экземпляра медиа-плеер, который разрешено использовать одновременно
  2. Максимальное количество видео поверхности, которые разрешено использовать одновременно

Обычно, это число 2.

+0

Можно ли отображать 4 видео на одном экране? – bindal

+0

Помню, я видел это на основе решения OpenGL. Все видео декодируются собственным собственным кодом программы с использованием интерфейса OpenMax. И визуализируйте все данные на поверхность OpenGL. Итак, пока мощность процессора достаточно сильна, вы можете отображать столько видео, сколько хотите. – Robin

+0

Но. Могу ли я взять 4 видеоизображения на одном экране? Вы сказали, что максимум нет экземпляров 2? Так как это будет возможно – bindal

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