白色屏幕出现在javaFx应用程序&它被卡住了

时间:2018-05-29 14:11:29

标签: multithreading javafx java-8 java-9 javacv

我们正在使用JavaFx和JavaCv开发视频流应用, 在将Stream播放到gridPane(8X8)时,我们偶尔会遇到白屏问题并且它是连续的。     细节: -

sudo

我们在jdk-8中没有得到任何异常,但在jdk-9中我们得到以下异常。但我不确定它是否与白屏问题有关。

new Thread(new Runnable() {
            @Override
            public void run() {
                frameGrabber = new FFmpegFrameGrabber(Url);
                frameGrabber.setVideoOption("preset","ultrafast");
                frameGrabber.setOption("rtsp_transport","tcp");
                frameGrabber.setOption("stimeout" , "60000");
                frameGrabber.setAudioChannels(0);
                frameGrabber.setAudioCodec(0);
                try {
                   frameGrabber.start();
                    } catch (Exception e) {
                     e.printStackTrace();
                   }
               JavaFXFrameConverter jconverter=new JavaFXFrameConverter();//converting frame to javafx Image

               while(true){
                   try {
               Frame frame = frameGrabber.grab();
                frame.clone();
                if(frame.image!=null){          
                 updateUi(im,jconverter.convert(frame));//im->ImageView
                }
            } catch (FrameGrabber.Exception e) {

                }
            }
                   }
            }
        }).start();


      //updateui explanation

         updateUi(ImageView im,Image image){
                Platform.runLater(new Runnable() {
                @Override
                public void run() {
                    im.setImage(image);//here i m updating imageview
                }
            });
           }

0 个答案:

没有答案