2012-04-05 174 views
0

我必须做一个应用程序,我需要在屏幕上同时播放两个视频。 这里是我的code.but视频不玩play.am我做错了任何地方? :(如何在一个屏幕上播放两个视频?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    VideoView myVideoView = (VideoView)findViewById(R.id.myvideoview); 
    myVideoView.setVideoURI(Uri.parse(SrcPath)); 
    myVideoView.setMediaController(new MediaController(this)); 
    myVideoView.requestFocus(); 
    myVideoView.start(); 
    VideoView myVideoView2 = (VideoView)findViewById(R.id.myvideoview2); 
    myVideoView2.setVideoURI(Uri.parse(SrcPath2)); 

    myVideoView2.setMediaController(new MediaController(this)); 
    myVideoView2.requestFocus(); 
    myVideoView2.start(); 
    } 
+0

你可以去片段。 – Akram 2012-04-05 06:25:31

+0

您正在使用哪种布局? myVideoView和myVideoView2如何放置在屏幕上?请提供更多的信息.​​... – aProgrammer 2012-04-05 06:27:05

+0

请提供一些更有用的信息,以便我们可以找出解决方案 – harry 2012-04-05 06:29:37

回答

3

我想你需要打两个视频两个独立的线程,因为IO操作拦截...一个视频播放器可以饿死CPU ...通话开始()在两个独立的线程。 ...希望帮助!

编辑 先取下的start()从的onCreate()调用..创建两个单独的线程

Thread view1Thrad = new Thread(new Runnable(){ 
    @Override 
    public void run(){ 
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_DISPLAY); 
    myVideoView.start(); 
    }); 
    Thread view2Thrad = new Thread(new Runnable(){ 
     @Override 
     public void run(){ 
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_DISPLAY); 
     myVideoView2.start(); 
     }); 

现在开始这些线程逐一.. 。

view1Thread.start(); //starts first video 
view2Thread.start(); //starts second video 

希望帮助!!!

+0

怎么可以我附加,并在需要使用thread.show请 – 2012-04-05 06:54:30

+0

请参阅编辑... – aProgrammer 2012-04-05 07:06:17

+0

thanx很多帮助我解决此问题:) – 2012-04-05 07:14:50