JMF and clinet side Applet problem

HI,

I need to create an Applets and applications that will transmits and receive media using RTP in [JMF]Java Compatible environment--including Web browsers--without having to worry about client side JMF installation.Will it be possible to deploy a java applet on a client browser without having the client

to install stuff ?

My Applet will run on client machine and need to capture and play audio and video using JMF.

My Applet also needs JMF classes so, i send jmf.jar file with my applet.

My Applet is also signed.

But doing all this step i am not able to get/capture device on client machine.

[639 byte] By [Amit_Jain@visitindia.coma] at [2007-11-27 11:54:03]
# 1

I also try with some alternate on client machine where JMF is not installed.

I keep perform.wav on client machine at location c:\perform.wav and try to create Processor object using MediaLocator but it is also not working.

MediaLocator ml = new MediaLocator("file://c:/perform.wav");

above line works but :->

processor = Manager.createProcessor(ml);

is not working.

so can any one clear that, for creating Processor object we also need JMF installation at client machine even we send jmf.jar file with our applet.

Note here I am not trying to Capture Client Device

Message was edited by:

Amit_Jain@visitindia.com

Amit_Jain@visitindia.coma at 2007-7-29 18:53:43 > top of Java-index,Security,Cryptography...
# 2

find here with my complete code :->

import javax.media.*;

import javax.media.control.*;

import javax.media.datasink.*;

import javax.media.format.*;

import javax.media.protocol.*;

import javax.media.control.TrackControl;

import jmapps.util.StateHelper;

import java.io.*;

import java.util.*;

public class SoundApplet extends java.applet.Applet {

public void init() {

//doSpeak();

//doSpeakJMF();

doRTPWork();

}

private void doRTPWork() {

MediaLocator ml = null;

Processor processor = null;

StateHelper sh = null;

try{

ml = new MediaLocator("file://c:/perform.wav");

}catch(Exception ex){

System.out.println("*exceptoin* "+ex);

}

//http://groups.google.co.in/group/comp.lang.java.programmer/

browse_thread/thread/1fa2b20a25eadba0/965262ce1bdeb4bb?lnk=st&q=jmf

+applet+without+installation&rnum=1&hl=en#965262ce1bdeb4bb

try{

System.out.println("a");

processor = Manager.createProcessor(ml);

System.out.println("b");

sh = new StateHelper(processor);

System.out.println("c");

}/*catch (IOException e) {

System.out.println("**22** io exception:-> "+e);

System.exit(-1);

}*/catch (NoProcessorException e) {

System.out.println("*33* no processor exception:-> "+e);

System.exit(-1);

}catch(Exception ex){

System.out.println("*44*:-> "+ex);

}

// Configure the processor

processor.configure();

while (processor.getState() != Processor.Configured){

System.out.println("state:-> "+processor.getState());

System.out.println("configured:-> "+Processor.Configured);

}

processor.realize();

while(processor.getState()!=Processor.Realized);

System.out.println("d");

if (!sh.configure(10000))

System.exit(-1);

System.out.println("e");

// Set the output content type and realize the processor

//processor.setContentDescriptor(new

FileTypeDescriptor(FileTypeDescriptor.WAVE));

//processor.setContentDescriptor(new

ContentDescriptor( ContentDescriptor.RAW));

processor.setContentDescriptor(new

ContentDescriptor( ContentDescriptor.RAW_RTP));

System.out.println("f");

/*if (!sh.realize(10000))

System.exit(-1);*/

// create a File protocol MediaLocator with the location of the

// file to which the data is to be written

MediaLocator dest = new MediaLocator("rtp://192.168.1.7:8080");

System.out.println("h");

// get the output datasource of the processor and exit

// if we fail

DataSource source = null;

try {

source = processor.getDataOutput();

System.out.println("i");

}catch (NotRealizedError e) {

System.out.println("*5* no realized error:-> "+e);

System.exit(-1);

}catch (Exception e) {

System.out.println("*6* exception creating datasource:->

"+e);

System.exit(-1);

}

// hand this datasource to manager for creating an RTP

// datasink our RTP datasink will multicast the audio

try{

DataSink d = Manager.createDataSink(source, dest);

System.out.println("j");

d.open();

System.out.println("k");

d.start();

System.out.println("l");

processor.start();

System.out.println("m");

}catch (Exception e) {

System.out.println("*7*:-> "+e);

System.exit(-1);

}

}

}

Amit_Jain@visitindia.coma at 2007-7-29 18:53:43 > top of Java-index,Security,Cryptography...