Captura de audio com JMF

4 respostas
M

Bem galera ja procurei bastante e nao achei.
Queria saber se tem como capturar audio vindo pelo protocolo http, pois so consegui ver exemplos da captura pelo microfone no proprio pc.
agradeco ajuda qualquerr. valeu

4 Respostas

amaica

Olá acho que é melhor tu dar uma olhada no “Direct Show Java” pois, pelo que vi o JMF está defasado (não tenho certeza).
aqui pagina do dsj: http://www.humatic.de/htools/dsj.htm

Alguns Exemplos: http://www.s2i.com.br/2011/04/14/gravando-videos-com-o-dsj-direct-show-java/

…para usar na web vai ter que trabalhar com applets…

saoj

Mas isso só funciona no windows. :frowning:

JMF pelo menos era independente de plataforma.

M

amaica:
Olá acho que é melhor tu dar uma olhada no “Direct Show Java” pois, pelo que vi o JMF está defasado (não tenho certeza).
aqui pagina do dsj: http://www.humatic.de/htools/dsj.htm

Alguns Exemplos: http://www.s2i.com.br/2011/04/14/gravando-videos-com-o-dsj-direct-show-java/

…para usar na web vai ter que trabalhar com applets…

blz vou dar uma olhada ja e posto aqui dizendo se consegui oq queria… eu estava tentando pelo JMF pois queria uma aplicacao desktop msm, mas vou olhar sua dica

U

Estou tentando gravar video com audio utilizando o DSJ, mas não consigo. Somente o video é reproduzido.
O dodigo é o seguinte:

public void createGraph() {

javax.swing.JFrame f = new javax.swing.JFrame("dsj SimpleCapture");

    /** queryDevices returns video device infos in slot 0 / audio device infos in slot 1 **/
    DSFilterInfo[][] dsi = DSCapture.queryDevices();

    //
    /** this sample only uses video **/
    graph = new DSCapture(DSFiltergraph.RENDER_NATIVE,
            dsi[0][1], // DISPOSITIVO DE VIDEO
            true, //Capturar audio do dispositivo de video                
            dsi[1][0], //Dispositivo de audio
            this); //Instância de objeto que implemente PropertyChangeListener
    graph.lockVolume(5f);
    graph.setPreview();
    
    f.add(java.awt.BorderLayout.CENTER, graph.asComponent());

    f.add(java.awt.BorderLayout.SOUTH, new SwingMovieController(graph));

    final javax.swing.JButton toFile = new javax.swing.JButton("set capture file");

    toFile.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {

            if (graph.getState() == DSCapture.PREVIEW) {

                /* capture to a Windows Media file using the default profile */

                //AQUI O VIDEO É GRAVADO
                graph.setCaptureFile("captureTest.avi", DSFilterInfo.doNotRender(), DSFilterInfo.doNotRender(), true);

                toFile.setText("set preview");

                /* start recording right away. Outcomment to control this from GUI */

                graph.record();

            } else {

                graph.setPreview();

                toFile.setText("set capture file");

            }

        }
    });
Criado 3 de setembro de 2011
Ultima resposta 27 de mar. de 2012
Respostas 4
Participantes 4