私は 1 つの画面に 4 つの videoviewa の要件がある 1 つのアプリケーションに取り組んでいます。ビューは 1 つの画面に 4 つの正方形のボックスのようなものです。1 つのアクティビティで 4 つの videoview を取得しました。ここにコードがあります。
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();
}
正しく再生されたビデオよりも 1 つのビデオを再生しているときに、4 つのビデオを一緒に再生すると、4 つのビデオすべてに「ビデオを再生できません」というメッセージが表示されます。