0

我必须制作一个应用程序,我需要在屏幕上同时播放两个视频。这是我的代码。但视频无法播放。我在哪里做错了吗?:(

    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();
    }
4

1 回答 1

3

我认为您需要两个单独的线程来播放两个视频。因为 IO 操作被阻塞...其中一个视频播放器可能会饿死 CPU...在两个单独的线程中调用 start()...希望对您有所帮助!!!

编辑 首先从 onCreate() 中删除 start() 调用。创建两个单独的线程

    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

希望有帮助!!!

于 2012-04-05T06:51:39.533 回答