Я новичок в gstreamer-java, я делаю проект Java SWT с использованием gstreamer, и я читаю учебные пособия и другие вещи, чтобы сделать это.Сначала я решил написать каналы, которые я тестировал с помощью командной строки, и все каналы работают нормально.Но теперь я хотел бы использовать его в своем коде Java.Я попробовал "pipe.launch", например, для этого канала: "v4l2src! Videoscale! Video / x-raw-yuv, height = 240! Xvimagesink autoaudiosrc! Audioconvert! Alsasink" (чтобы одновременно получать выходные данные веб-камеры и выводить аудио)
Но результат не тот, который ожидался, то есть я получил два окна вместо одного.Один для вывода веб-камеры, а другой, который ничего не содержит.Я понимаю, что это потому, что есть окно, которое генерируется с каналом.
Теперь я понимаю, что должен использовать видеокомпонент, чтобы включить поток веб-камеры в свой конкретный кадр.Я попробовал это:
Display display = new Display();
Shell shell = new Shell(display); // my frame
Pipeline pipe = new Pipeline("Webcam");
Element src = ElementFactory.make("v4l2src", "sourcevideo"); // the
первый источник Element src2 = ElementFactory.make ("autoaudiosrc", "sourceaudio") // второй источник
VideoComponent videocomponent = new VideoComponent(shell, SWT.NONE,
true);// включая в мой кадр
videocomponent.getElement().setName("webcam");
videocomponent.setKeepAspect(true);
videocomponent.setLayoutData(new GridData());
Element videosink = videocomponent.getElement();
Element audiosink = ElementFactory.make("alsasink",
"sortieaudio");// для аудиовыхода videocomponent.setBounds (25, 65, 420, 320);
pipe.addMany(src, videosink,src2, audiosink);
Element.linkMany(src, videosink, src2, audiosink);
pipe.play();
shell.open();
, но есть ошибка с веб-камерой. Видеопоток остановлен, и аудиовыход отсутствует.Кто-нибудь может мне помочь?Я действительно запутался!