Jx Capture如何在单击按钮时停止视频录制

时间:2018-11-15 20:33:18

标签: java

我试图使用jx浏览器捕获库制作视频记录软件,但是,当我单击swing的停止按钮(jtogglebutton)时,它表示尚未开始视频捕获,即使已经记录了视频。有人知道如何使用jtogglebutton停止视频吗?

   private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                               




          if (jToggleButton1.isSelected()){

              jToggleButton1.setText("stop recording");
            EncodingParameters encodingParameters = new EncodingParameters(new File("Desktop.wmv"));
            encodingParameters.setBitrate(1500000);
            encodingParameters.setSize(new Dimension(800, 600));
            encodingParameters.setInterpolationMode(InterpolationMode.HighQuality);

            VideoCapture videoCapture = VideoCapture.create(VideoFormat.WMV);

            List<Codec> codecs = videoCapture.getVideoCodecs();
            for (Codec
                    codec : codecs) {
                jLabel1.setText("Video codec: " + codec);
            }
            Codec preferredCodec = codecs.get(1);
            jLabel2.setText("Selected video codec = " + preferredCodec);

            encodingParameters.setCodec(preferredCodec);

            if (useAudio) {
                List<AudioSource> audioSources = AudioSource.getAvailable();
                for (AudioSource audioSource : audioSources) {
                    jLabel3.setText("audioSource = " + audioSource);
                }
                if (audioSources.isEmpty()) {
                    System.err.println("No audio sources available");
                } else {
                    AudioSource audioSource = audioSources.get(0);
                    System.out.println("Selected audio source = " + audioSource);
                    videoCapture.setAudioSource(audioSource);

                    List<AudioCodec> audioCodecs = videoCapture.getAudioCodecs();
                    if (audioSources.isEmpty()) {
                        System.err.println("No audio codecs available");
                    } else {
                        System.out.println("Available audio codecs:");
                        for (AudioCodec audioCodec : audioCodecs) {
                            System.out.println("audioCodec = " + audioCodec);
                        }

                        // Enable and configure audio encoding
                        AudioEncodingParameters audioEncoding = new AudioEncodingParameters();

                        AudioCodec audioCodec = audioCodecs.get(0);
                        System.out.println("Selected audio codec = " + audioCodec);
                        audioEncoding.setCodec(audioCodec);

                        encodingParameters.setAudioEncoding(audioEncoding);
                    }
                }
            }
            jLabel4.setText("encodingParameters = " + encodingParameters);

            videoCapture.start(encodingParameters);

            jLabel1.setText("Recording started. Press 'Enter' to stop.");


          }



           else {  
             // this is where im trying to stop video recording
                      VideoCapture videoCapture = VideoCapture.create(VideoFormat.WMV);

              videoCapture.stop(); 
            }


// TODO add your handling code here:

    }                                              

0 个答案:

没有答案