我试图使用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:
}