2012-04-05 99 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

相關問題