Use jmf implement RFC2833

i want to send dtmf tone with my sip soft phone according to RFC 2833.
but i don't kown how to modify some special rtp header(such as Marker header) when i use jmf to transmit rtp
and i have another problem, i have already transmitted the rtp, and then i click one number button,it should send another rtp, how shoud i do if i want two rtp to be a stream, i mean the two rtps have the continuous sequence number, not have its own increased sequence number

Hi,
I�ve implemented DTMF (RFC 2833) using JMF during my SIP soft phone development. To implement DTMF (RFC 2833) using JMF, you have to implement RTPConnector. You will find an implementation of RTPConnector, RTPSocketAdapter is built to support a custom transport mechanism under following URL:
[Transmitting and Receiving RTP over Custom Transport Layer|http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/RTPConnector.html]
I hope this information will help you!
Enjoy,
ARIF

Similar Messages

  • Playing a wav file (byte array) using JMF

    Hi,
    I want to play a wav file in form of a byte array using JMF. I have 2 classes, MyDataSource and MyPullBufferStream. MyDataSource class is inherited from PullStreamDataSource, and MyPullBufferStream is derived from PullBufferStream. When I run the following piece of code, I got an error saying "EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c9108b2, pid=3800, tid=1111". Any idea what might be the problem? Thanks.
    File file = new File(filename);
    byte[] data = FileUtils.readFileToByteArray(file);
    MyDataSource ds = new MyDataSource(data);
    ds.connect();
    try
        player = Manager.createPlayer(ds);
    catch (NoPlayerException e)
        e.printStackTrace();
    if (player != null)
         this.filename = filename;
         JMFrame jmframe = new JMFrame(player, filename);
        desktop.add(jmframe);
    import java.io.IOException;
    import javax.media.Time;
    import javax.media.protocol.PullBufferDataSource;
    import javax.media.protocol.PullBufferStream;
    public class MyDataSource extends PullBufferDataSource
        protected Object[] controls = new Object[0];
        protected boolean started = false;
        protected String contentType = "raw";
        protected boolean connected = false;
        protected Time duration = DURATION_UNKNOWN;
        protected PullBufferStream[] streams = null;
        protected PullBufferStream stream = null;
        protected final byte[] data;
        public MyDataSource(final byte[] data)
            this.data = data;
        public String getContentType()
            if (!connected)
                System.err.println("Error: DataSource not connected");
                return null;
            return contentType;
        public void connect() throws IOException
            if (connected)
                return;
            stream = new MyPullBufferStream(data);
            streams = new MyPullBufferStream[1];
            streams[0] = this.stream;
            connected = true;
        public void disconnect()
            try
                if (started)
                    stop();
            catch (IOException e)
            connected = false;
        public void start() throws IOException
            // we need to throw error if connect() has not been called
            if (!connected)
                throw new java.lang.Error(
                        "DataSource must be connected before it can be started");
            if (started)
                return;
            started = true;
        public void stop() throws IOException
            if (!connected || !started)
                return;
            started = false;
        public Object[] getControls()
            return controls;
        public Object getControl(String controlType)
            try
                Class cls = Class.forName(controlType);
                Object cs[] = getControls();
                for (int i = 0; i < cs.length; i++)
                    if (cls.isInstance(cs))
    return cs[i];
    return null;
    catch (Exception e)
    // no such controlType or such control
    return null;
    public Time getDuration()
    return duration;
    public PullBufferStream[] getStreams()
    if (streams == null)
    streams = new MyPullBufferStream[1];
    stream = streams[0] = new MyPullBufferStream(data);
    return streams;
    import java.io.ByteArrayInputStream;
    import java.io.IOException;
    import javax.media.Buffer;
    import javax.media.Control;
    import javax.media.Format;
    import javax.media.format.AudioFormat;
    import javax.media.protocol.ContentDescriptor;
    import javax.media.protocol.PullBufferStream;
    public class MyPullBufferStream implements PullBufferStream
    private static final int BLOCK_SIZE = 500;
    protected final ContentDescriptor cd = new ContentDescriptor(ContentDescriptor.RAW);
    protected AudioFormat audioFormat = new AudioFormat(AudioFormat.GSM_MS, 8000.0, 8, 1,
    Format.NOT_SPECIFIED, AudioFormat.SIGNED, 8, Format.NOT_SPECIFIED,
    Format.byteArray);
    private int seqNo = 0;
    private final byte[] data;
    private final ByteArrayInputStream bais;
    protected Control[] controls = new Control[0];
    public MyPullBufferStream(final byte[] data)
    this.data = data;
    bais = new ByteArrayInputStream(data);
    public Format getFormat()
    return audioFormat;
    public void read(Buffer buffer) throws IOException
    synchronized (this)
    Object outdata = buffer.getData();
    if (outdata == null || !(outdata.getClass() == Format.byteArray)
    || ((byte[]) outdata).length < BLOCK_SIZE)
    outdata = new byte[BLOCK_SIZE];
    buffer.setData(outdata);
    byte[] data = (byte[])buffer.getData();
    int bytes = bais.read(data);
    buffer.setData(data);
    buffer.setFormat(audioFormat);
    buffer.setTimeStamp(System.currentTimeMillis());
    buffer.setSequenceNumber(seqNo);
    buffer.setLength(BLOCK_SIZE);
    buffer.setFlags(0);
    buffer.setHeader(null);
    seqNo++;
    public boolean willReadBlock()
    return bais.available() > 0;
    public boolean endOfStream()
    return willReadBlock();
    public ContentDescriptor getContentDescriptor()
    return cd;
    public long getContentLength()
    return (long)data.length;
    public Object getControl(String controlType)
    try
    Class cls = Class.forName(controlType);
    Object cs[] = getControls();
    for (int i = 0; i < cs.length; i++)
    if (cls.isInstance(cs[i]))
    return cs[i];
    return null;
    catch (Exception e)
    // no such controlType or such control
    return null;
    public Object[] getControls()
    return controls;

    Here's some additional information. After making the following changes to MyPullBufferStream class, I can play a wav file with gsm-ms encoding with one issue: the wav file is played many times faster.
    protected AudioFormat audioFormat = new AudioFormat(AudioFormat.GSM, 8000.0, 8, 1,
                Format.NOT_SPECIFIED, AudioFormat.SIGNED, 8, Format.NOT_SPECIFIED,
                Format.byteArray);
    // put the entire byte array into the buffer in one shot instead of
    // giving a portion of it multiple times
    public void read(Buffer buffer) throws IOException
            synchronized (this)
                Object outdata = buffer.getData();
                if (outdata == null || !(outdata.getClass() == Format.byteArray)
                        || ((byte[]) outdata).length < BLOCK_SIZE)
                    outdata = new byte[BLOCK_SIZE];
                    buffer.setData(outdata);
                buffer.setLength(this.data.length);
                buffer.setOffset(0);
                buffer.setFormat(audioFormat);
                buffer.setData(this.data);
                seqNo++;
        }

  • Not able to recognize any video/audio devices using jmf and java soun

    Hi ,
    I need one help from your side.
    Here I am expecting some clarifications from you. Before that let you my environement.
    My working environment :
    Eclipse tool and added jmf jar to my project I did not do any thing more.
    If any thing I need to do just let me know. My target platform is MAC & UBUNTU.
    Please bare with my questions.
    1) I am not able to recognize any video/audio devices using jmf and java sound APIs on My system.
    ( I checked with the app mentioned in the http://www.java-forums.org/new-java/11201-jmf-cannot-connect-device.html )
    Do we need any administrives rights for our working PC.
    What is the procedure/ setup I need to follow from a java application to enable particular audio/video device since I dont about end-user system setup right.
    If possible send some sample code to recognize /r detect audio device ( voice input ). It should run on both MAC and UBUNTU.
    2) I run the one sample audio recording application of this link (http://www.jsresources.org/examples/SimpleAudioRecorder.java.html) which is provided by YOU.
    I got output audio file and able to hear voice on UBUNTU system but not able to hear voice on MAC system.
    I heared that default line in ( audio setup of the sys) is wont take any voice data on MAC.Why I made this stmt means we are getting false when using isSupported methods of JAVA SOUND API.
    ( like for TragetdataLine ...i,e, all ports are getting false)
    I have one sample audio recording app implemented by QUICKTIME API. In this case also he taking audio ftom device only using quicetime API.
    With that we are able to record and hear audio ( voice input --> not line in , external device we added some thing like SSB...)
    3) In case of Video capturing DataSource, Streams are implemented by PullBufferDataSource , PullBufferStream intefaces used.
    In case of Audio capturing DataSource, Streams are implemented by PushBufferDataSource, PushBufferStream intefaces used.
    Can you explain the reasons ? I gone through API but i am not clear.
    HOPE I WILL BE CLARIFIED EVERY THING FROM YOU.
    Thanks
    RamaRao.G

    Hi ,
    I need one help from your side.
    Here I am expecting some clarifications from you. Before that let you my environement.
    My working environment :
    Eclipse tool and added jmf jar to my project I did not do any thing more.
    If any thing I need to do just let me know. My target platform is MAC & UBUNTU.
    Please bare with my questions.
    1) I am not able to recognize any video/audio devices using jmf and java sound APIs on My system.
    ( I checked with the app mentioned in the http://www.java-forums.org/new-java/11201-jmf-cannot-connect-device.html )
    Do we need any administrives rights for our working PC.
    What is the procedure/ setup I need to follow from a java application to enable particular audio/video device since I dont about end-user system setup right.
    If possible send some sample code to recognize /r detect audio device ( voice input ). It should run on both MAC and UBUNTU.
    2) I run the one sample audio recording application of this link (http://www.jsresources.org/examples/SimpleAudioRecorder.java.html) which is provided by YOU.
    I got output audio file and able to hear voice on UBUNTU system but not able to hear voice on MAC system.
    I heared that default line in ( audio setup of the sys) is wont take any voice data on MAC.Why I made this stmt means we are getting false when using isSupported methods of JAVA SOUND API.
    ( like for TragetdataLine ...i,e, all ports are getting false)
    I have one sample audio recording app implemented by QUICKTIME API. In this case also he taking audio ftom device only using quicetime API.
    With that we are able to record and hear audio ( voice input --> not line in , external device we added some thing like SSB...)
    3) In case of Video capturing DataSource, Streams are implemented by PullBufferDataSource , PullBufferStream intefaces used.
    In case of Audio capturing DataSource, Streams are implemented by PushBufferDataSource, PushBufferStream intefaces used.
    Can you explain the reasons ? I gone through API but i am not clear.
    HOPE I WILL BE CLARIFIED EVERY THING FROM YOU.
    Thanks
    RamaRao.G

  • Problem with  M-JPEG by using JMF and JPEGCodec .

    Hi, there,
    I want to implement a M-JPEG using JMF and JPEGCodec, is that possible?(I already been trapped)
    My problem is I have a video clip which is a AVI file, the video format is following:
    Video format: RGB, 160x120, FrameRate=14.9, Length=57600, 24-bit, Masks=3:2:1, P
    ixelStride=3, LineStride=480, Flipped.
    I already convered a frame to an Image object(video format with JPEG and CVID doesn't work) ,
    I can also convert this Image back as a Buffer, It works fine with me .But to use JPEGCodec( provided by com.sun.image.codec.jpeg ) I need to convert an Image to a BufferedImage, I use the following defination:
    BufferedImage   bImage = new BufferedImage(frameImage.getWidth(null), frameImage.getHeigh(null),BufferedImage.TYPE_INT_RGB); It seems work, But when I use JPEGImageEncoder to encoder this bImage and save as a jpg file,
    everything is black .
    I also need to cast BufferedImage to an Image: frameImage = (Image) bImage; then I convert frameImage back to Buffer.My video clip still running , but every frame now became black .
    can someone help me? thanks in advance.

    I solved this problem . But I met a new problem.
    I converted the above video clip into a JPEG and I want to create a DataSink for it. the messege is:
    Video format: JPEG, 160x120, FrameRate=12.0, Length=3574
    - set content descriptor to: AVI
    - set track format to: JPEG
    Cannot transcode any track to: JPEG
    Cannot create the DataSink: javax.media.NoDataSinkException: Cannot find a DataS
    ink for: com.sun.media.multiplexer.RawBufferMux$RawBufferDataSource@2b7eea
    Transcoding failedHope some Java Experts can help me.
    Regards.

  • How to do video conferencing using jmf

    hi guys, can anybody help me out on developing a videoconferencing using jmf.
    ASAP PLZZZZZZZ.
    my email id is .
    [email protected]
    siddhartha

    Hi,
    Here is the sample code for playing the movie.
    public class MoviePlayer extends JFrame implements ControllerListener {
    private Player player = null;
    public static void main(String args[]) {
    new MoviePlayer(args[0]);
    public MoviePlayer(String movieFile) {
    getContentPane().setLayout(new BorderLayout());
    setSize(new Dimension(200, 200));
    setVisible(true);
    setTitle(movieFile);
    loadMovie(movieFile);
    addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent we) {
    player.stop();
    player.deallocate();
    System.exit(1);
    private void loadMovie(String movieFile) {
    try {
    MediaLocator ml = new MediaLocator("file:" + movieFile);
    player = Manager.createPlayer(ml);
    player.addControllerListener(this);
    player.start();
    } catch (IOException ioe) {
    ioe.printStackTrace();
    } catch (NoPlayerException npe) {
    npe.printStackTrace();
    public synchronized void controllerUpdate(ControllerEvent ce) {
    if (ce instanceof RealizeCompleteEvent) {
    Component comp;
    if ((comp = player.getVisualComponent()) != null)
    getContentPane().add(comp, BorderLayout.CENTER);
    if ((comp = player.getControlPanelComponent()) != null)
    getContentPane().add(comp, BorderLayout.SOUTH);
    validate();
    I hope this will help you.
    Thanks
    Bakrudeen
    Technical Support Engineer
    Sun MicroSystems Inc, India

  • Fast acquring of images using JMF

    Hello!
    I have been trying to write a class for reading frames from a video camera using JMF, however the BufferToImage.createImage appeared to be very slow -- the code is fast if the method is commented out. How can I get the images faster? Or perhaps read pixels directly from the video stream buffer? Or is there another problem with the code? If BufferToImage was constructed using Buffer.getFormat, it was also slow.
    I attach the code that I have used for reading the frames.
    Sincerely,
    Artur Rataj
    * A video input driver that uses Java Media Framework.
    * This file is provided under the terms of the GNU General Public License.
    * version 0.1, date 2004-07-21, author Artur Rataj
    package video.drivers;
    import java.io.*;
    import java.awt.*;
    import java.awt.image.*;
    import javax.media.*;
    import javax.media.protocol.*;
    import javax.media.control.*;
    import javax.media.format.*;
    import javax.media.util.BufferToImage;
    * This is a video driver that uses Java Media Framework to access video input devices.
    public class JMFDriver extends VideoDriver implements ControllerListener {
          * The input stream processor.
         Processor processor;
          * The stream from the input video device.
         PushBufferStream frameStream;
          * A converter from stream data to an image.
         BufferToImage frameStreamConverter;
          * A video stream buffer.
         Buffer videoBuffer;
          * Constructs a new driver.
         public JMFDriver(String deviceAddress, int width, int height, int bitsPerPixel)
              throws VideoDriverException {
              super(deviceAddress, width, height, bitsPerPixel);
              MediaLocator locator = new MediaLocator(deviceAddress);
              if(locator == null)
                   throw new VideoDriverException("Device not found: " + deviceAddress);
              javax.media.protocol.DataSource source;
              try {
                   source = javax.media.Manager.createDataSource(locator);
              } catch(IOException e) {
                   throw new VideoDriverException("Could not read device " + deviceAddress +
                        ": " + e.toString());
              } catch(NoDataSourceException e) {
                   throw new VideoDriverException("Could not read device " + deviceAddress +
                        ": " + e.toString());
              if(!( source instanceof CaptureDevice ))
                   throw new VideoDriverException("The device " + deviceAddress +
                        " not recognized as a video input one.");
              FormatControl[] formatControls =
                   ((CaptureDevice)source).getFormatControls();
              if(formatControls == null || formatControls.length == 0)
                   throw new VideoDriverException("Could not set the format of images from " +
                        deviceAddress + ".");
              VideoFormat videoFormat = null;
    searchFormat:
              for(int i = 0; i < formatControls.length; ++i) {
                   FormatControl c = formatControls;
                   Format[] formats = c.getSupportedFormats();
                   for(int j = 0; j < formats.length; ++j)
                        if(formats[j] instanceof VideoFormat) {
                             VideoFormat f = (VideoFormat)formats[j];
                             if(f.getSize().getWidth() == this.width &&
                                  f.getSize().getHeight() == this.height) {
                                  int bpp = -1;
                                  if(f instanceof RGBFormat)
                                       bpp = ((RGBFormat)f).getBitsPerPixel();
                                  else if(f instanceof YUVFormat) {
                                       YUVFormat yuv = (YUVFormat)f;
                                       bpp = (yuv.getStrideY() + yuv.getStrideUV())*8/
                                                 this.width;
                                  if(bpp == bitsPerPixel) {
                                       videoFormat = (VideoFormat)c.setFormat(f);
                                       break searchFormat;
              if(videoFormat == null)
                   throw new VideoDriverException("Could not find the format of images from " +
                        deviceAddress + " at " + bitsPerPixel + " bits per pixel.");
              try {
                   source.connect();
              } catch(IOException e) {
                   throw new VideoDriverException("Could not connect to the device " +
                        deviceAddress + ": " + e.toString());
              try {
                   processor = Manager.createProcessor(source);
              } catch(IOException e) {
                   throw new VideoDriverException("Could not initialize the processing " +
                        "of images from " + deviceAddress + ": " + e.toString());
              } catch(NoProcessorException e) {
                   throw new VideoDriverException("Could not initialize the processing " +
                        "of images from " + deviceAddress + ": " + e.toString());
              processor.addControllerListener(this);
              synchronized(this) {
                   processor.realize();
                   try {
                        wait();
                   } catch(InterruptedException e) {
                        throw new VideoDriverException("Could not initialize the processing " +
                             "of images from " + deviceAddress + ": " + e.toString());
              processor.start();
              PushBufferDataSource frameSource = null;
              try {
                   frameSource = (PushBufferDataSource)processor.getDataOutput();
              } catch(NotRealizedError e) {
                   /* empty */
              PushBufferStream[] frameStreams = frameSource.getStreams();
              for(int i = 0; i < frameStreams.length; ++i)
                   if(frameStreams[i].getFormat() instanceof VideoFormat) {
                        frameStream = frameStreams[i];
                        break;
              videoBuffer = new Buffer();
              videoBuffer.setTimeStamp(0);
              videoBuffer.setFlags(videoBuffer.getFlags() |
                   Buffer.FLAG_NO_WAIT |
                   Buffer.FLAG_NO_DROP |
                   Buffer.FLAG_NO_SYNC);
              processor.prefetch();
         public void controllerUpdate(ControllerEvent event) {
              if(event instanceof RealizeCompleteEvent)
                   synchronized(this) {
                        notifyAll();
         * Acquires an image from the input video device.
         public Image acquireImage() throws VideoDriverException {
              try {
                   frameStream.read(videoBuffer);
              } catch(IOException e) {
                   throw new VideoDriverException("Could not acquire a video frame: " +
                        e.toString());
              frameStreamConverter = new BufferToImage(
                   (VideoFormat)frameStream.getFormat());
              Image out = frameStreamConverter.createImage(videoBuffer);
              return out;
         * Closes the input video device.
         public void close() {
              processor.close();
         public static void main(String[] args) throws Exception {
              JMFDriver driver = new JMFDriver("v4l://0", 768, 576, 16);
              while(true)
                   Image image = driver.acquireImage();
                   System.out.print(".");
                   System.out.flush();

    This is how you do this:
    First you must know upfront what type of a format your camera is using,
    all the valid formats are static members of BufferedImage.
    Next you need to create a BufferedImage of the same format.
    Here is an example:
    My creative webcam is set to: 640x480 RGB 24bit color. i Create a BufferedImage into which i will copy the buffer:
    BufferedImage buff = new BufferedImage(640,480,BufferedImage.TYPE_3BYTE_BGR);
    Next the copy operation where appropriate
    cbuffer is my javax.media.Buffer from which i will copy the image data:
    System.arraycopy((byte[])cbuffer.getData(), 0, ((DataBufferByte) buff.getRaster().getDataBuffer()).getData(),0,img_size_bytes);
    Things to note here, are i cast the cbuffer.getData() to byte[] because that is the type of data this is. I cast buff.getRaster().getDataBuffer() to DataBufferByte because the bufferedimage is of type TYPE_3BYTE_BGR.
    also, img_size_bytes equals to 640*480*3
    This operation will copy the raw buffer into your buffered image avoiding the use of BufferToImage
    Only problem is the image will be flipped, but just flip the webcam to correct this =)

  • How to send video and audio (videoconference) using JMF without using RTP

    Hi everyone,
    I am creating an application using JMF, a videoconference, but I would like to transmit the packets by myself without using RTP. I would have a socket (or virtual Serial Port -- > Bluetooth) and I would send the info that way. Is it possible??
    Thanks in advance!!
    Cheers

    Yeah, you'd need to implement something like this for that.
    [http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/RTPConnector.html]

  • How to use the implementation class in propetty pallete

    Hi,
    I am using forms 10g....I have to insert horizontal scroll bar in text item..
    I have only class files instead of jar files ...how cani place the class file instead of jar file...
    How to use the implementation class in property palette to display the PJC
    Thanks,
    Ansaf.

    The Implementation Class must reflect the full name of the class. For instance, if the full class name is : xx.yyy.zz.class_name, then put this in the Implementation Class property of the corresponding item.
    Also, the class must be stored in the equivalent directory structure, so that, in my example: <DEV_HOME>/forms/java/xx/yyy/zz
    Francois

  • How to capture the video in a file using JMF-RTP?

    Please someone help in capturing the live streaming in a file using JMF......
    Thanks..

    Hi, I have a problem with RTPExport output video files. One side streams H263/RTP(AVTransmit2.java) and other write this steam to a file by RTPExport.java. When network conditions are ideal, output video file has same fps and same number of frames like original file. Problem occures, when theres packet lost in network, then output file has different fps,and also has less frames like original video(because it didnt write missing frames to file, and thats why it get shorter). Pls how can I achieve output file that will have the same fps like original one? How to write to file an identical copy of what I can see while receiveing video with AVReceive2.java? Its there a way to modifi rtpexport or avreceiver to do this? Thanks!

  • Best Practice regarding using and implementing the pref.txt file

    Hi All,
    I would like to start a post regarding what is Best Practice in using and implementing the pref.txt file. We have reached a stage where we are about to go live with Discoverer Viewer, and I am interested to know what others have encountered or done to with their pref.txt file and viewer look and feel..
    Have any of you been able to add additional lines into the file, please share ;-)
    Look forward to your replies.
    Lance

    Hi Lance
    Wow, what a question and the simple answer is - it depends. It depends on whether you want to do the query predictor, whether you want to increase the timeouts for users and lists of values, whether you want to have the Plus available items and Selected items panes displayed by default, and so on.
    Typically, most organizations go with the defaults with the exception that you might want to consider turning off the query predictor. That predictor is usually a pain in the neck and most companies turn it off, thus increasing query performance.
    Do you have a copy of my Discoverer 10g Handbook? If so, take a look at pages 785 to 799 where I discuss in detail all of the preferences and their impact.
    I hope this helps
    Best wishes
    Michael Armstrong-Smith
    URL: http://learndiscoverer.com
    Blog: http://learndiscoverer.blogspot.com

  • How to use jmf convert the rtp packet (captured by jpcap) in to wav file?

    I use the jpcap capture the rtp packets(payload: ITU-T G.711 PCMU ,from voip)
    and now I want to use JMF read those data and convert in to wav file
    How to do this? please help me

    pedrorp wrote:
    Hi Captfoss!
    I fixed it but now I have another problem. My application send me this message:
    Cannot initialize audio renderer with format: LINEAR, Unknown Sample Rate, 16-bit, Mono, LittleEndian, Signed
    Unable to handle format: ALAW/rtp, Unknown Sample Rate, 8-bit, Mono, FrameSize=8 bits
    Failed to prefetch: com.sun.media.PlaybackEngine@1b45ddc
    Error: Unable to prefetch com.sun.media.PlaybackEngine@1b45ddc
    This time the fail is prefetching. I have no idea why this problem is. Could you help me?The system cant play an audio file / stream if it doesn't know the sample rate...somewhere along the way, in your code, the sample rate got lost. Sample rates are highly important, because they tell the system how fast to play the file.
    You need to go look through your code and find where the sample rate information is getting lost...

  • Creating Web Services using Java Implementation

    Hi,
    This is quite a general question on how to create a Web Service using Java Implementation that needs to conform to a client XML schema.
    Here are my Version specs,
    I am using Jdeveloper 10.1.3.4.0 and deploying onto OAS 10.1.3.
    I will be creating a J2ee 1.4 (JAX-RPC) Web Service using Document/Wrapped style.
    I have been provided an XML schema from the client which is quite complex.
    Using a top-down approach, I can create my WSDL file and import the XML Schema for my type definitions.
    The Web service aim is to accept some parameters and return some data from the Oracle Database. The
    XML response from the web service must conform to the element, attribute definitions in the provided XML schema.
    From a Java implementation approach, what is the best (simplest or quickest) way to retrieve data from the Oracle
    tables and map each fields/column to the required XML output (defined in the XML schema).
    I'm not too concerned with using Java to retrieve data from the Database, more with how I can map the data returned
    to the required output. Can this mapping task be controlled within the Java program?
    Thanks in advance.

    Hi,
    This is quite a general question on how to create a Web Service using Java Implementation that needs to conform to a client XML schema.
    Here are my Version specs,
    I am using Jdeveloper 10.1.3.4.0 and deploying onto OAS 10.1.3.
    I will be creating a J2ee 1.4 (JAX-RPC) Web Service using Document/Wrapped style.
    I have been provided an XML schema from the client which is quite complex.
    Using a top-down approach, I can create my WSDL file and import the XML Schema for my type definitions.
    The Web service aim is to accept some parameters and return some data from the Oracle Database. The
    XML response from the web service must conform to the element, attribute definitions in the provided XML schema.
    From a Java implementation approach, what is the best (simplest or quickest) way to retrieve data from the Oracle
    tables and map each fields/column to the required XML output (defined in the XML schema).
    I'm not too concerned with using Java to retrieve data from the Database, more with how I can map the data returned
    to the required output. Can this mapping task be controlled within the Java program?
    Thanks in advance.

  • Error Playing .wav file on RHEL 4 using JMF

    Hi,
    We are using jmf api to play wav files on our application deployed on rhel version 4. But we are receiving the following error
    **"Cannot find a Processor for: myfolder/myAudio.wav" --->
    this exception is comming from javax.media.Manager
    throw new NoProcessorException("Cannot find a Processor for: " + source);"**.
    Any ideas what could be issue with this, am I missing some drivers/processor for wav files? I did a default jmf studio installation.
    Thanks and Regards
    Vikram Pancholi
    Edited by: vpancholi on Sep 8, 2009 8:51 AM

    If we take a look at the supported formats page...
    [http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/formats.html]
    And the WAV file is supported by the cross-platform pack, AKA, jmf.jar.
    If you're unable to open a WAV file, I'd say it's most likely because you don't have JMF.jar on your library path. You can fix that at runtime with the switch -djava.library.path=<whatever>
    That's what I would say the issue is.

  • Javafx use jmf and capture audio device

    Hello, I noticed a problem with the use JavaFX and Java Media Framework (JMF), in a project javafx call Java classes using JMF, but are not recognized PC audio devices, in fact when I executed 's the code CaptureDeviceManager.getDeviceList (null), displays the error: "could not commit protocolPRefixList", without recognizing any audio device. Instead I call if my application using JMF, outside of a JavaFX project, the devices are found and everything works properly, perhaps this problem depends on the security settings of JavaFX, or inability to use JavaFX is that jmf interfaces with audio and video devices?
    thanks for the help

    I'd use jmf and javafx but it was not for capture devices.
    If you use jmf there are native libraries.
    The thing i found was about the java.library.path wich is overriden when you start javafx that jmf can't load approriate libs.
    Try to compare the System.getProperties for java and javafx then you should find where is the problem.

  • How to connect to Digital Camera using JMF?

    How to connect to Digital Camera using JMF?
    Any example?
    thx

    If the DC has a mode that works like a web cam, and can generate either a VFW or DirecShow stream, then you could capture a frame of the stream, yes.

Maybe you are looking for

  • How can I set up 3 different VLANs on Cisco 5508

    Dear  Community Members,   I have a need to setup three (3) VLANs with different SSID's for students , staff and visitors in a  College. The controller is Cisco 5508  with Cisco 3502E-E-K9 AP presently the wireless  network is flat with just one VLAN

  • Error for faulty schedule items in PO with message no.MEPO001

    HI, We made some Purchase requisition and created one PO with respect to these PR then we deleted all item in PO( because created in wrong order type) and trying to create PO again with other order type and with same existing PR but sustem giving err

  • Running a command line in Java

    Dear all, I have a question, I need to run a command line in a Java program. The commands line is the next: cas.exe -i file1 I have been seeing in internet and I have tried: Process ls_proc = Runtime.getRuntime().exec("cmd /c start D:\\cas>cas.exe -i

  • MELTDOWN: Can't make reservation at Apple Store

    Everytime I click on the mac icon in the "Make A Reservation Genius Bar" page, a pop-up appears saying "Before you come in... Update Your Software... Back Up Your Data" and THEN nothing happens. It will not let me make a reservation. It just goes bac

  • F-92 error

    Dear All, When i want to sell the assets. in f-92. i am getting this error. TRANSACTION IN AREA 15 CONTRADICTS THE NET BOOK VALUE RULE. PL GUIDE ME TO SOLVE THIS. GIRIJA