Visual C++ .NET - videoconferencia

 
Vista:

videoconferencia

Publicado por carlos (1 intervención) el 17/10/2011 18:41:37
Buenas

Quisiera una ayuda con un proyecto que poseo el cual es crear un programa el cual permita pulsando un boton acceda a la camara web para asi crear una video conferencia y con otro boton distinto detenerla.

Por favor necesito ayuda con codigo o algun programa de lo mas sencillo q haga esto.

Gracias de ante mano y disculpen las molestias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Crear una aplicación de videoconferencia simple

Publicado por Alejandro (265 intervenciones) el 09/02/2024 18:56:08
Carlos, crear un programa completo para videoconferencias con interfaz gráfica puede ser un proyecto extenso y complejo. Sin embargo, puedo proporcionarte un ejemplo sencillo utilizando Java y JavaFX para crear una interfaz gráfica básica con dos botones: uno para iniciar la videoconferencia y otro para detenerla. Para interactuar con la cámara web, utilizaremos la biblioteca OpenCV (JavaCV en este caso) para simplificar el acceso a la cámara.

Asegúrate de tener las bibliotecas JavaFX y JavaCV agregadas a tu proyecto. Puedes hacerlo descargando los archivos JAR y añadiéndolos a tu entorno de desarrollo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import org.bytedeco.javacv.CanvasFrame;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Size;
import org.bytedeco.opencv.opencv_videoio.VideoCapture;
 
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
 
public class VideoConferenciaApp extends Application {
 
    private VideoCapture capture;
    private CanvasFrame canvasFrame;
 
    public static void main(String[] args) {
        launch(args);
    }
 
    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("App de videoconferencia");
 
        // Botón para iniciar la videoconferencia
        Button startButton = new Button("Iniciar videoconferencia");
        startButton.setOnAction(e -> iniciarVideoconferencia());
 
        // Botón para detener la videoconferencia
        Button stopButton = new Button("Detener videoconferencia");
        stopButton.setOnAction(e -> detenerVideoconferencia());
 
        VBox vbox = new VBox(startButton, stopButton);
        Scene scene = new Scene(vbox, 300, 150);
 
        primaryStage.setScene(scene);
        primaryStage.show();
    }
 
    private void iniciarVideoconferencia() {
        capture = new VideoCapture(0); // 0 indica la cámara predeterminada
        canvasFrame = new CanvasFrame("Videoconferencia", CanvasFrame.getDefaultGamma() / capture.get(6));
 
        // Configurar el tamaño del frame
        canvasFrame.setCanvasSize((int) capture.get(3), (int) capture.get(4));
 
        // Configurar el tamaño de captura para reducir la carga de procesamiento
        capture.set(3, 640);
        capture.set(4, 480);
 
        // Iniciar un hilo para leer y mostrar el video
        new Thread(() -> {
            Mat frame = new Mat();
            while (canvasFrame.isVisible() && capture.read(frame)) {
                canvasFrame.showImage(frame);
            }
        }).start();
    }
 
    private void detenerVideoconferencia() {
        if (capture != null && capture.isOpened()) {
            capture.release();
        }
        if (canvasFrame != null) {
            canvasFrame.dispose();
        }
    }
 
    @Override
    public void stop() {
        detenerVideoconferencia();
    }
}

Este código utiliza JavaCV para acceder a la cámara web y JavaFX para la interfaz gráfica. Ten en cuenta que este es un ejemplo muy básico y puede requerir ajustes según tus necesidades y entorno de desarrollo. Además, asegúrate de agregar las bibliotecas necesarias al proyecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar