我使用以下代码一次运行多个视频。 更新代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
video1=(VideoView)findViewById(R.id.myvideoview);
video1.setVideoURI(Uri.parse("android.resource://" +getPackageName()+ "/"+R.raw.sample));
video1.setMediaController(new MediaController(this));
video1.requestFocus();
video2=(VideoView)findViewById(R.id.myvideview);
video2.setVideoURI(Uri.parse("android.resource://" +getPackageName()+ "/"+R.raw.sample1));
video2.setMediaController(new MediaController(this));
video2.requestFocus();
Thread view1=new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_DISPLAY);
video1.start();
}
});
Thread view2=new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_DISPLAY);
video2.start();
}
});
view1.start();
view2.start();
}
它给了我错误和
mediaPlayer error (1, -110)
突然出现对话框,显示无法播放此视频
任何暗示?
答案 0 :(得分:0)
您无法在后台线程上执行与UI相关的操作。 Android在主线程上执行所有UI操作。这就是为什么错误消息显示“只有创建视图层次结构的原始线程才能触及其视图。”
答案 1 :(得分:0)
我得到了解决方案......
我发布的上述代码有效,但它取决于h / w加速器。如果它一次支持多个video view
,那么它将正常工作,它会给你错误This media can not be played