Dv9610us web cam wont detect
dv9610us wont pick up built in webcam
last thing to fix wont work
running win 7 x64 sp1 fully updated
Hi,
Please try this:
http://h10025.www1.hp.com/ewfrf/wc/document?docname=c02452221&lc=en&cc=us&dlc=en&product=3761191
Good luck,
BH
**Click the KUDOS thumb up on the left to say 'Thanks'**
Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.
Similar Messages
-
May web cam wont post pic?
my web cam wont post pics now?? Have a feeling my daughter did something???
Hello jennifer2000000,
Let's see if we can get your issue resolved. Before I can do that though I'll need to know what computer you have and if it has an internal webcam or an external webcam.
Where are you posting pictures to?
You said now, so am I wrong to assume that it used to work?
What operating system does your computer run?
Does the webcam work for video, but not stills or does video not work as well?
If I have helped you in any way click the Kudos button to say Thanks.
The community works together, click Accept as Solution on the post that solves your issue for other members of the community to benefit from the solution.
- Friendship is magical. -
Neither Skype nor test web sites can detect a web camera.
In Control Panel, the integrated camera is reported as functioning properly.
I have updated the integrated driver software, updated DirectX. No change.
Any ideas?Wow that's pretty strange and I'm wondering if it's a bug within Vista.
Out of curiosity, can you download this free video capturing software and this works pretty well in detecting a webcam...
http://www.nchsoftware.com/capture/
I hope this works for you and I'm totally lost for more additional clues. Is your T400 still under warranty? -
Web cam wont start message says in use by another application
Hello I have recently purchased the Creative LIve!Cam Optia and for some reason the person I am talking to can't see me but I can see them just fine. Every time I go to call someone on Skype I plug in my camera and when the person answers a message pops up in the call tab saying "video error cannot find video source , check to see if it is in use by another application". I have no idea what other application could be using it because I ended up installing most of what came on the installation Cd. I have tried everything from selecting tools on skype then hit options, then I clicked on video settings, then I selected Li've!Cam Optia as my web cam as opposed to selecting default web cam. Then the same message pops up again " Skype did not find preferred video source. Webcam could be in use by another application". The thing that really frustrates me is that sometimes it works perfectly find then it freezes and I try to restart the video and then I loose it completely! PLease help someone I have returned camera prior to this one I don't want to have to do it again for this one. Thank you.
Two choices left - download iPhoto Library Manager - http://www.fatcatsoftware.com/iplm/ - and use its rebuild command - this will rebuild yoru library leaving the original untouched so you can go back to it is things do not make yo happy - this will keep your edits, metadata and events but will not keep projects
If that does not work Right click on the iPhoto library and show package contents - look in the masters folder - are your original photos there? If so (and if you have adaquate disk space) duplicate the masters folder and rename the iPhoto library "iPhoto library old" - depress the option key and launch iPhoto ancd create a new library - drag the masters folder to the iPhoto icon in the Dock to import your original photos with your events
This will give you a new library with your originals - edits, projects and metadata changes will not be available
And critically start Time Machine up and leave it running
LN -
I have been trying to set up a wireless cam but I'm having problems. The camera is a LINKSYS WVC54GCA. I run through the set up and everything saves but once I disconnect it from the router it cannot be detected. What am I doing wrong?
Please try this.
Please wire the camera to the router.
Go to MS-DOS by clicking on Start and then click Run.
On the open field type cmd then hit OK.
On the screen type ipconfig then hit Enter.
Make a note of your IP address, Subnet Mask and Gateway. is.
Please access the Web-based Utility by opening the Internet Explorer and enter your Camera IP Address i.e. 192.168.1.8.
Click Setup tab.
Set the camera to the following settings under the Setup tab:
Configuration Type: Fixed IP Address
IP Address: .... 192.168.1.115
Subnet Mask: ... (enter your Subnet Mask) 255.255.255.0
Gateway: ....... (enter your gateway IP Address) i.e. 192.168.1.1
Then click Apply.
Setup the Wireless Settings field:
SSID: (Enter your Network SSID)
Network Type: Infrastructure
Channel No: Auto
Security: (Click Edit Security Settings)
Under Edit Security Settings window, set the settings below
Security Mode : WEP
TX Key : 1
WEP Encryption : 64 Bit Keys (10 Hex chars)
Passphrase : (Leave it blank)
Key 1 : (Enter correctly your WEP key)
Key 2
Key 3
Key 4
Authentication : Open
Hit Apply.
Apply the changes also for the changes in the SSID and channel.
After applying if you get this message "Camera's IP address may change.Please use the Windows utility to locate the camera and configure it correctly for your environment.You should now close this Browser window. "
You may now close it.
Please follow the steps below:
Click on Start and then click Run.
On the open field type cmd then hit OK.
On the screen type ping 192.168.1.115 and then hit Enter.
Check if you have replies.
If you got replies please disconnect the camera from router.
Then unplug the power for 30 seconds then plug the power back in.
Check if the light on the camera is stable.
Check if you can now access the camera via http://192.168.1.115 through your browser. -
My mac was updated last week, and I believe it was about camera. After that my QQ was not working alright any more -- the camera within the macbook can no longer be detected. However, when I use FaceTime, the camera is still working. Anyone knows what should I do? Is this a QQ issue or a mac system issue? BTW I also heard that Skype users have similar issues after the recent system updates. And, there is no choice for QQ to "test camera" like Skype does so I cannot really "hook up" the camera through QQ software. Thanks in advance!
MacBook Air (Mid 2013): FaceTime HD Camera might not work after OS X 10.8.5 update
-
A305-S6872 Web Cam Wont turn on
i just replaced my hard drive. did a clean install of w7. everything, and all the drivers work, exept the built in camera. i even downloaded the latest utility from the website, but it only installs the application, not the driver. i don't even see an imaging device on the device manager. when i manually try to add a imaging device, then i can't anywhere on the computer find a driver for the webcam to install it. if any one knows how to fix this problem, plz help.thank you.
p.s. i even checked the regestry. and there is no regestry for the camera at all.You say you did a clean install of 'everything' for Win7. Then you say after that, you downloaded the latest camera utility from the website, which would seem to imply that you did NOT download all the latest drivers, patches and utilities from the Toshiba website, after you updated your Windows 7 installation.
So, if you haven't run all the latest Win7 stuff from the Toshiba site for your computer, then try running these two patch programs first:
Toshiba Registry Patch for Devices and Printers:
http://cdgenp01.csd.toshiba.com/content/support/downloads/patch_device_printer_registry_TC00231900B....
Toshiba Patch Files for Windows 7:
http://cdgenp01.csd.toshiba.com/content/support/downloads/patch_storage_TC00233600A.exe
Then try to run the latest Chicony driver/utility again:
http://cdgenp01.csd.toshiba.com/content/support/downloads/driver_camera_chicony_TC50040800A.exe
Let us know what happens. Good luck!
Mike -
A305-S6872 Web Cam Wont activate
Can someone help me on this... It says (Webcam is either disabled or has failed Please Check Your Webcam settings)
Go to the control panel and uninstall the camera software, restart and then install it again. Maybe that may work.
-
I just upgraded to the new Windows 10 and I cant get camera (webcam) to open pops up a screen saying something went wrong make sure your camera is connected and not being used in another app. I checked and its not. Please help..
If System Report / Hardware / USB does not list a camera, you have a hardware problem.
Is the computer still under warranty? If it is take it to an Apple store. Check warranty here:
https://selfsolve.apple.com/agreementWarrantyDynamic.do
Even if it is not under warranty, have it checked out at an Apple store. There is no charge for diagnosis. -
Web-cam is not detected yet installed
Hi!
I m doing a program tat can capture movie from available video capturing devices, i hav installed web-cam, but while searching for the devices available(Detecting the device) , it is not identifing the device. And still if i m giving direct the device info to the program("vfj//0")then movie is captured from web-cam.
Program is listed below which is not detecting the web-cam:
public void setMainSource(){
setProcessing(false);
VideoFormat vidformat = new VideoFormat(VideoFormat.YUV);
Vector devices = CaptureDeviceManager.getDeviceList(vidformat);
CaptureDeviceInfo di = null;
if (devices.size() > 0) di = (CaptureDeviceInfo) devices.elementAt(0);
else {
/* I got exception here */
JOptionPane.showMessageDialog(parent,
"Your camera is not connected", "No webcam found", JOptionPane.WARNING_MESSAGE);
return;
try {
ml = di.getLocator();
setMainCamSource(Manager.createDataSource(ml));
} catch (Exception e) {
JOptionPane.showMessageDialog(parent,
"Exception locating media: " + e.getMessage(), "Error", JOptionPane.WARNING_MESSAGE);
return;
Output:
Web cam not found....
So wht shd be the problem , nyone please explain the problem how to overcome from it.
Thank youFirst of all sorry for spelling mistake i write ("vfj//0") rather then "vfw://0"
Yeh! i read your code n your code is also giving the same error
like
Web cam not detected/installed(like something this).
But still i hav attached cam n capturing movie from the code shown below:
//This will not detect the webcam n directly captures the movie, try it out so now wht to do so tat will detect the webcam properly....
CODE:
import javax.media.*;
import javax.media.util.*;
import javax.media.format.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import javax.media.control.*;
class testing extends JFrame implements ControllerListener,ActionListener
//Variables for gui
public JButton play=new JButton("Play");
public JButton stop=new JButton("Stop");
public JPanel p1=new JPanel();
public JPanel p2=new JPanel();
Container c;
//Variables for videocapturing
boolean stateTransitionOK = true;
Object waitSync = new Object();
Processor p;
///Variables required to store the movie
DataSink sink;
MediaLocator dest = new MediaLocator("save_video.wav");
///methods
public testing()
super("Video Capture Demo");
setupvideocapture();
setupgui();
public void setupgui()
c.add(play);
c.add(stop);
addWindowListener(new WindowHandler());
stop.addActionListener(this);
play.addActionListener(this);
setSize(350,350);
setVisible(true);
show();
public void actionPerformed(ActionEvent ae)
String str;
str=ae.getActionCommand();
if(str=="Play")
try
//Before starting capturing store the movie to the HDD
p.start();
sink = Manager.createDataSink(p.getDataOutput(), dest);
sink.open();
sink.start();
catch(Exception e)
else if(str=="Stop")
try
// sink.stop();
p.stop();
catch(Exception e)
public void setupvideocapture()
c=getContentPane();
c.setLayout(new FlowLayout());
try
p = Manager.createProcessor(new MediaLocator("vfw://0"));
p.addControllerListener(this);
p.configure();
waitForState(p.Configured);
p.setContentDescriptor(null);
p.prefetch();
waitForState(p.Prefetched);
c.add(p.getVisualComponent());
///Intializing the saving procedure
catch(Exception e)
System.out.println(e);
public void controllerUpdate(ControllerEvent evt)
if (evt instanceof ConfigureCompleteEvent || evt instanceof RealizeCompleteEvent || evt instanceof PrefetchCompleteEvent)
synchronized (waitSync)
stateTransitionOK = true;
waitSync.notifyAll();
else if (evt instanceof ResourceUnavailableEvent)
synchronized (waitSync)
System.out.println("ResourceUnavailable");
stateTransitionOK = false;
waitSync.notifyAll();
else if (evt instanceof EndOfMediaEvent)
p.close();
System.exit(0);
boolean waitForState(int state)
synchronized (waitSync)
try
while (p.getState() != state && stateTransitionOK)
waitSync.wait();
catch (Exception e) {}
return stateTransitionOK;
//Entry point
public static void main(String args[])
testing t=new testing();
class WindowHandler extends WindowAdapter
public void windowClosing(WindowEvent e)
System.exit(0);
This is working properly........ so plz if other option plz notify me.
Thank you for helping me....... -
My web cam on my mac book wont turn off.
the green light next my web cam wont go off since i had a video chat with one of my friends last night and i can figure out how to turn off the camera. any suggestions?
Also have a look at this...
http://discussions.apple.com/thread.jspa?threadID=2291734&tstart=0
Dave -
Web cams in IE but not firefox
The Hogs Breath Saloon web cam wont run on FireFox4. It runs on the older version no problem.
Duval St web cam has the same problem. I like to keep an eye on Key West so I look at these every day.There are a couple issues here that might be the culprit. One is that the player is hidden using a variety of techniques and Firefox often suppresses hidden content because it can be annoying not to be able to control your experience with media. Another possible issue is that the embed tag doesn't specify a content type. Firefox appears to be guessing anyway, and in my case asking whether to activate the QuickTime plugin, but then nothing plays.
To test what would happen if both of those were addressed, you can run this script using Firefox's Web Console. It grabs the address of the media and creates a new embed that is visible and specifies the content type. Here's how to use it:
Select the following long line of code and copy it:
function reEmbedMpeg(em){var el=document.createElement("embed"); el.setAttribute("type","audio/mpeg"); el.setAttribute("src",em.src); el.setAttribute("style","height:20px;width:200px;position:fixed;right:0;top:0"); document.body.appendChild(el);} reEmbedMpeg(document.querySelector("embed"));
When viewing the problem page, press Ctrl+Shift+k to open the Web Console in the lower part of the tab.
Paste the code next to the caret (>>) on the bottom line and press Enter to run it. A player should appear in the upper left corner, the progress bar should show downloading and then the content should play.
Obviously it's not practical to hack every web page you find, but if this is your site or you would be interesting in contacting the owner, hopefully this post will help in getting this working in Firefox. -
Updated : No question, just example web cam capture code
Hi,
I posted this example a while back, but it had some cosmetic bugs in it.
Here's an updated version.
Quick Start
1. Install JMF 2.1.1e (performance pack version)
( see imports list in source code if you really want to run it using the older version 2.1.1c )
2. You have to set the JMF_HOME or JMFHOME environment variable. Can't remember which one.
"Nearly sure" it's JMF_HOME.
3. Connect your camera
4. run jmfinit ( may need to do a few times until it detects your camera )
When it does, you're in business, and you can try to run the code
5. Run java -cp .;%JMF_HOME%\lib\jmf.jar JWebCam
known issue
Under Java 1.5 / 5 - When capturing a frame, and then resizing that snapshots JFrame, the image did not always scale up and display.
That does work under Java 1.3.1_06 .
Tested on Win98 2nd edition, Java 1.3.1_06, and Creative Web Cam Pro.
Legal stuff in plain english : This code is available for use by everyone, personal or commercial, no need to mention me in licenses or anything. It's just a demo I knocked up for myself. So I am under no obligation to support this. Use it at your own risk.... that implies you can't blame or sue me for anything that goes wrong.
If you like the code, I'd be happy to hear whereabouts you are in the world :-)
Also note : this is the limits of my JMF experience at present.
If you've a separate question, post it to a new topic!
regards,
Owen ( Dublin, Ireland )
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import javax.media.*;
import javax.media.datasink.*;
import javax.media.format.*;
import javax.media.protocol.*;
import javax.media.util.*;
import javax.media.control.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import com.sun.image.codec.jpeg.*;
// import com.sun.media.vfw.VFWCapture; // JMF 2.1.1c version
import com.sun.media.protocol.vfw.VFWCapture; // JMF 2.1.1e version
public class JWebCam extends JFrame
implements WindowListener, ComponentListener
protected final static int MIN_WIDTH = 100; // 320;
protected final static int MIN_HEIGHT = 100; // 240;
protected static int shotCounter = 1;
protected JLabel statusBar = null;
protected JPanel visualContainer = null;
protected Component visualComponent = null;
protected JToolBar toolbar = null;
protected MyToolBarAction formatButton = null;
protected MyToolBarAction captureButton = null;
protected Player player = null;
protected CaptureDeviceInfo webCamDeviceInfo = null;
protected MediaLocator ml = null;
protected Dimension imageSize = null;
protected FormatControl formatControl = null;
protected VideoFormat currentFormat = null;
protected Format[] videoFormats = null;
protected MyVideoFormat[] myFormatList = null;
protected MyCaptureDeviceInfo[] myCaptureDevices = null;
protected boolean initialised = false;
* Constructor
public JWebCam ( String frameTitle )
super ( frameTitle );
try
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
catch ( Exception cnfe )
System.out.println ("Note : Cannot load look and feel settings");
setSize ( 320, 260 ); // default size...
addWindowListener ( this );
addComponentListener ( this );
getContentPane().setLayout ( new BorderLayout() );
visualContainer = new JPanel();
visualContainer.setLayout ( new BorderLayout() );
getContentPane().add ( visualContainer, BorderLayout.CENTER );
statusBar = new JLabel ("")
// Nasty bug workaround
// The minimum JLabel size was determined by the text in the status bar
// So the layoutmanager wouldn't shrink the window for the video image
public Dimension getPreferredSize ( )
// get the JLabel to "allow" a minimum of 10 pixels width
// not to work out the minimum size from the text length
return ( new Dimension ( 10, super.getPreferredSize().height ) );
statusBar.setBorder ( new EtchedBorder() );
getContentPane().add ( statusBar, BorderLayout.SOUTH );
* Initialise
* @returns true if web cam is detected
public boolean initialise ( )
throws Exception
MyCaptureDeviceInfo[] cams = autoDetect();
if ( cams.length > 0 )
if ( cams.length == 1 )
System.out.println ("Note : 1 web cam detected");
return ( initialise ( cams[0].capDevInfo ) );
else
System.out.println ("Note : " + cams.length + " web cams detected");
Object selected = JOptionPane.showInputDialog (this,
"Select Video format",
"Capture format selection",
JOptionPane.INFORMATION_MESSAGE,
null, // Icon icon,
cams, // videoFormats,
cams[0] );
if ( selected != null )
return ( initialise ( ((MyCaptureDeviceInfo)selected).capDevInfo ) );
else
return ( initialise ( null ) );
else
return ( initialise ( null ) );
* Initialise
* @params _deviceInfo, specific web cam device if not autodetected
* @returns true if web cam is detected
public boolean initialise ( CaptureDeviceInfo _deviceInfo )
throws Exception
statusBar.setText ( "Initialising...");
webCamDeviceInfo = _deviceInfo;
if ( webCamDeviceInfo != null )
statusBar.setText ( "Connecting to : " + webCamDeviceInfo.getName() );
try
setUpToolBar();
getContentPane().add ( toolbar, BorderLayout.NORTH );
ml = webCamDeviceInfo.getLocator();
if ( ml != null )
player = Manager.createRealizedPlayer ( ml );
if ( player != null )
player.start();
formatControl = (FormatControl)player.getControl ( "javax.media.control.FormatControl" );
videoFormats = webCamDeviceInfo.getFormats();
myFormatList = new MyVideoFormat[videoFormats.length];
for ( int i=0; i<videoFormats.length; i++ )
myFormatList[i] = new MyVideoFormat ( (VideoFormat)videoFormats[i] );
Format currFormat = formatControl.getFormat();
visualComponent = player.getVisualComponent();
if ( visualComponent != null )
visualContainer.add ( visualComponent, BorderLayout.CENTER );
if ( currFormat instanceof VideoFormat )
currentFormat = (VideoFormat)currFormat;
imageSize = currentFormat.getSize();
visualContainer.setPreferredSize ( imageSize );
setSize ( imageSize.width, imageSize.height + statusBar.getHeight() + toolbar.getHeight() );
else
System.err.println ("Error : Cannot get current video format");
invalidate();
pack();
return ( true );
else
System.err.println ("Error : Could not get visual component");
return ( false );
else
System.err.println ("Error : Cannot create player");
statusBar.setText ( "Cannot create player" );
return ( false );
else
System.err.println ("Error : No MediaLocator for " + webCamDeviceInfo.getName() );
statusBar.setText ( "No Media Locator for : " + webCamDeviceInfo.getName() );
return ( false );
catch ( IOException ioEx )
System.err.println ("Error connecting to [" + webCamDeviceInfo.getName() + "] : " + ioEx.getMessage() );
statusBar.setText ( "Connecting to : " + webCamDeviceInfo.getName() );
return ( false );
catch ( NoPlayerException npex )
statusBar.setText ("Cannot create player");
return ( false );
catch ( CannotRealizeException nre )
statusBar.setText ( "Cannot realize player");
return ( false );
else
return ( false );
* Dynamically create menu items
* @returns the device info object if found, null otherwise
public void setFormat ( VideoFormat selectedFormat )
if ( formatControl != null )
// player.stop(); // not needed and big performance hit
currentFormat = selectedFormat;
if ( visualComponent != null )
visualContainer.remove ( visualComponent );
imageSize = currentFormat.getSize();
visualContainer.setPreferredSize ( imageSize );
statusBar.setText ( "Format : " + currentFormat );
System.out.println ("Format : " + currentFormat );
formatControl.setFormat ( currentFormat );
// player.start(); // not needed and big performance hit
visualComponent = player.getVisualComponent();
if ( visualComponent != null )
visualContainer.add ( visualComponent, BorderLayout.CENTER );
invalidate(); // let the layout manager work out the sizes
pack();
else
System.out.println ("Visual component not an instance of FormatControl");
statusBar.setText ( "Visual component cannot change format" );
public VideoFormat getFormat ( )
return ( currentFormat );
protected void setUpToolBar ( )
toolbar = new JToolBar();
// Note : due to cosmetic glitches when undocking and docking the toolbar,
// I've set this to false.
toolbar.setFloatable(false);
// Note : If you supply the 16 x 16 bitmaps then you can replace
// the commented line in the MyToolBarAction constructor
formatButton = new MyToolBarAction ( "Resolution", "BtnFormat.jpg" );
captureButton = new MyToolBarAction ( "Capture", "BtnCapture.jpg" );
toolbar.add ( formatButton );
toolbar.add ( captureButton );
getContentPane().add ( toolbar, BorderLayout.NORTH );
protected void toolbarHandler ( MyToolBarAction actionBtn )
if ( actionBtn == formatButton )
Object selected = JOptionPane.showInputDialog (this,
"Select Video format",
"Capture format selection",
JOptionPane.INFORMATION_MESSAGE,
null, // Icon icon,
myFormatList, // videoFormats,
currentFormat );
if ( selected != null )
setFormat ( ((MyVideoFormat)selected).format );
else if ( actionBtn == captureButton )
Image photo = grabFrameImage ( );
if ( photo != null )
MySnapshot snapshot = new MySnapshot ( photo, new Dimension ( imageSize ) );
else
System.err.println ("Error : Could not grab frame");
* autoDetects the first web camera in the system
* searches for video for windows ( vfw ) capture devices
* @returns the device info object if found, null otherwise
public MyCaptureDeviceInfo[] autoDetect ( )
Vector list = CaptureDeviceManager.getDeviceList ( null );
CaptureDeviceInfo devInfo = null;
String name;
Vector capDevices = new Vector();
if ( list != null )
for ( int i=0; i<list.size(); i++ )
devInfo = (CaptureDeviceInfo)list.elementAt ( i );
name = devInfo.getName();
if ( name.startsWith ("vfw:") )
System.out.println ("DeviceManager List : " + name );
capDevices.addElement ( new MyCaptureDeviceInfo ( devInfo ) );
else
for ( int i = 0; i < 10; i++ )
try
name = VFWCapture.capGetDriverDescriptionName ( i );
if (name != null && name.length() > 1)
devInfo = com.sun.media.protocol.vfw.VFWSourceStream.autoDetect ( i );
if ( devInfo != null )
System.out.println ("VFW Autodetect List : " + name );
capDevices.addElement ( new MyCaptureDeviceInfo ( devInfo ) );
catch ( Exception ioEx )
System.err.println ("Error connecting to [" + webCamDeviceInfo.getName() + "] : " + ioEx.getMessage() );
// ignore errors detecting device
statusBar.setText ( "AutoDetect failed : " + ioEx.getMessage() );
MyCaptureDeviceInfo[] detected = new MyCaptureDeviceInfo[ capDevices.size() ];
for ( int i=0; i<capDevices.size(); i++ )
detected[i] = (MyCaptureDeviceInfo)capDevices.elementAt ( i );
return ( detected );
* deviceInfo
* @note outputs text information
public void deviceInfo ( )
if ( webCamDeviceInfo != null )
Format[] formats = webCamDeviceInfo.getFormats();
if ( ( formats != null ) && ( formats.length > 0 ) )
for ( int i=0; i<formats.length; i++ )
Format aFormat = formats;
if ( aFormat instanceof VideoFormat )
Dimension dim = ((VideoFormat)aFormat).getSize();
// System.out.println ("Video Format " + i + " : " + formats[i].getEncoding() + ", " + dim.width + " x " + dim.height );
else
System.out.println ("Error : No web cam detected");
* grabs a frame's buffer from the web cam / device
* @returns A frames buffer
public Buffer grabFrameBuffer ( )
if ( player != null )
FrameGrabbingControl fgc = (FrameGrabbingControl)player.getControl ( "javax.media.control.FrameGrabbingControl" );
if ( fgc != null )
return ( fgc.grabFrame() );
else
System.err.println ("Error : FrameGrabbingControl is null");
return ( null );
else
System.err.println ("Error : Player is null");
return ( null );
* grabs a frame's buffer, as an image, from the web cam / device
* @returns A frames buffer as an image
public Image grabFrameImage ( )
Buffer buffer = grabFrameBuffer();
if ( buffer != null )
// Convert it to an image
BufferToImage btoi = new BufferToImage ( (VideoFormat)buffer.getFormat() );
if ( btoi != null )
Image image = btoi.createImage ( buffer );
if ( image != null )
return ( image );
else
System.err.println ("Error : BufferToImage cannot convert buffer");
return ( null );
else
System.err.println ("Error : cannot create BufferToImage instance");
return ( null );
else
System.out.println ("Error : Buffer grabbed is null");
return ( null );
* Closes and cleans up the player
public void playerClose ( )
if ( player != null )
player.close();
player.deallocate();
player = null;
public void windowClosing ( WindowEvent e )
playerClose();
System.exit ( 1 );
public void componentResized ( ComponentEvent e )
Dimension dim = getSize();
boolean mustResize = false;
if ( dim.width < MIN_WIDTH )
dim.width = MIN_WIDTH;
mustResize = true;
if ( dim.height < MIN_HEIGHT )
dim.height = MIN_HEIGHT;
mustResize = true;
if ( mustResize )
setSize ( dim );
public void windowActivated ( WindowEvent e ) { }
public void windowClosed ( WindowEvent e ) { }
public void windowDeactivated ( WindowEvent e ) { }
public void windowDeiconified ( WindowEvent e ) { }
public void windowIconified ( WindowEvent e ) { }
public void windowOpened ( WindowEvent e ) { }
public void componentHidden(ComponentEvent e) { }
public void componentMoved(ComponentEvent e) { }
public void componentShown(ComponentEvent e) { }
protected void finalize ( ) throws Throwable
playerClose();
super.finalize();
class MyToolBarAction extends AbstractAction
public MyToolBarAction ( String name, String imagefile )
// Note : Use version this if you supply your own toolbar icons
// super ( name, new ImageIcon ( imagefile ) );
super ( name );
public void actionPerformed ( ActionEvent event )
toolbarHandler ( this );
class MyVideoFormat
public VideoFormat format;
public MyVideoFormat ( VideoFormat format )
this.format = format;
public String toString ( )
Dimension dim = format.getSize();
return ( format.getEncoding() + " [ " + dim.width + " x " + dim.height + " ]" );
class MyCaptureDeviceInfo
public CaptureDeviceInfo capDevInfo;
public MyCaptureDeviceInfo ( CaptureDeviceInfo devInfo )
capDevInfo = devInfo;
public String toString ( )
return ( capDevInfo.getName() );
class MySnapshot extends JFrame implements ImageObserver
protected Image photo = null;
protected int shotNumber;
public MySnapshot ( Image grabbedFrame, Dimension imageSize )
super ( );
shotNumber = shotCounter++;
setTitle ( "Photo" + shotNumber );
photo = grabbedFrame;
setDefaultCloseOperation ( WindowConstants.DISPOSE_ON_CLOSE );
int imageHeight = photo.getWidth ( this );
int imageWidth = photo.getHeight ( this );
setSize ( imageSize.width, imageSize.height );
final FileDialog saveDialog = new FileDialog ( this, "Save JPEG", FileDialog.SAVE );
final JFrame thisCopy = this;
saveDialog.setFile ( "Photo" + shotNumber );
addWindowListener ( new WindowAdapter()
public void windowClosing ( WindowEvent e )
saveDialog.show();
String filename = saveDialog.getFile();
if ( filename != null )
if ( saveJPEG ( filename ) )
JOptionPane.showMessageDialog ( thisCopy, "Saved " + filename );
setVisible ( false );
dispose();
else
JOptionPane.showMessageDialog ( thisCopy, "Error saving " + filename );
else
setVisible ( false );
dispose();
setVisible ( true );
public void paint ( Graphics g )
super.paint ( g );
g.drawImage ( photo, 0, 0, getWidth(), getHeight(), Color.black, this );
* Saves an image as a JPEG
* @params the image to save
* @params the filename to save the image as
public boolean saveJPEG ( String filename )
boolean saved = false;
BufferedImage bi = new BufferedImage ( photo.getWidth(null),
photo.getHeight(null),
BufferedImage.TYPE_INT_RGB );
Graphics2D g2 = bi.createGraphics();
g2.drawImage ( photo, null, null );
FileOutputStream out = null;
try
out = new FileOutputStream ( filename );
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder ( out );
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam ( bi );
param.setQuality ( 1.0f, false ); // 100% high quality setting, no compression
encoder.setJPEGEncodeParam ( param );
encoder.encode ( bi );
out.close();
saved = true;
catch ( Exception ex )
System.out.println ("Error saving JPEG : " + ex.getMessage() );
return ( saved );
} // of MySnapshot
public static void main (String[] args )
try
JWebCam myWebCam = new JWebCam ( "Web Cam Capture" );
myWebCam.setVisible ( true );
if ( !myWebCam.initialise() )
System.out.println ("Web Cam not detected / initialised");
catch ( Exception ex )
ex.printStackTrace();Hi,
Here's a working version.
If there are no spaces after the "<" symbol, it thinks it's a HTML tag.
Putting spaces in, stops this.
cheers,
Owen
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import javax.media.*;
import javax.media.datasink.*;
import javax.media.format.*;
import javax.media.protocol.*;
import javax.media.util.*;
import javax.media.control.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import com.sun.image.codec.jpeg.*;
// import com.sun.media.vfw.VFWCapture; // JMF 2.1.1c version
import com.sun.media.protocol.vfw.VFWCapture; // JMF 2.1.1e version
public class JWebCam extends JFrame
implements WindowListener, ComponentListener
protected final static int MIN_WIDTH = 100; // 320;
protected final static int MIN_HEIGHT = 100; // 240;
protected static int shotCounter = 1;
protected JLabel statusBar = null;
protected JPanel visualContainer = null;
protected Component visualComponent = null;
protected JToolBar toolbar = null;
protected MyToolBarAction formatButton = null;
protected MyToolBarAction captureButton = null;
protected Player player = null;
protected CaptureDeviceInfo webCamDeviceInfo = null;
protected MediaLocator ml = null;
protected Dimension imageSize = null;
protected FormatControl formatControl = null;
protected VideoFormat currentFormat = null;
protected Format[] videoFormats = null;
protected MyVideoFormat[] myFormatList = null;
protected MyCaptureDeviceInfo[] myCaptureDevices = null;
protected boolean initialised = false;
* Constructor
public JWebCam ( String frameTitle )
super ( frameTitle );
try
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
catch ( Exception cnfe )
System.out.println ("Note : Cannot load look and feel settings");
setSize ( 320, 260 ); // default size...
addWindowListener ( this );
addComponentListener ( this );
getContentPane().setLayout ( new BorderLayout() );
visualContainer = new JPanel();
visualContainer.setLayout ( new BorderLayout() );
getContentPane().add ( visualContainer, BorderLayout.CENTER );
statusBar = new JLabel ("")
// Nasty bug workaround
// The minimum JLabel size was determined by the text in the status bar
// So the layoutmanager wouldn't shrink the window for the video image
public Dimension getPreferredSize ( )
// get the JLabel to "allow" a minimum of 10 pixels width
// not to work out the minimum size from the text length
return ( new Dimension ( 10, super.getPreferredSize().height ) );
statusBar.setBorder ( new EtchedBorder() );
getContentPane().add ( statusBar, BorderLayout.SOUTH );
* Initialise
* @returns true if web cam is detected
public boolean initialise ( )
throws Exception
MyCaptureDeviceInfo[] cams = autoDetect();
if ( cams.length > 0 )
if ( cams.length == 1 )
System.out.println ("Note : 1 web cam detected");
return ( initialise ( cams[0].capDevInfo ) );
else
System.out.println ("Note : " + cams.length + " web cams detected");
Object selected = JOptionPane.showInputDialog (this,
"Select Video format",
"Capture format selection",
JOptionPane.INFORMATION_MESSAGE,
null, // Icon icon,
cams, // videoFormats,
cams[0] );
if ( selected != null )
return ( initialise ( ((MyCaptureDeviceInfo)selected).capDevInfo ) );
else
return ( initialise ( null ) );
else
return ( initialise ( null ) );
* Initialise
* @params _deviceInfo, specific web cam device if not autodetected
* @returns true if web cam is detected
public boolean initialise ( CaptureDeviceInfo _deviceInfo )
throws Exception
statusBar.setText ( "Initialising...");
webCamDeviceInfo = _deviceInfo;
if ( webCamDeviceInfo != null )
statusBar.setText ( "Connecting to : " + webCamDeviceInfo.getName() );
try
setUpToolBar();
getContentPane().add ( toolbar, BorderLayout.NORTH );
ml = webCamDeviceInfo.getLocator();
if ( ml != null )
player = Manager.createRealizedPlayer ( ml );
if ( player != null )
player.start();
formatControl = (FormatControl)player.getControl ( "javax.media.control.FormatControl" );
videoFormats = webCamDeviceInfo.getFormats();
myFormatList = new MyVideoFormat[videoFormats.length];
for ( int i=0; i < videoFormats.length; i++ )
myFormatList[i] = new MyVideoFormat ( (VideoFormat)videoFormats[i] );
Format currFormat = formatControl.getFormat();
visualComponent = player.getVisualComponent();
if ( visualComponent != null )
visualContainer.add ( visualComponent, BorderLayout.CENTER );
if ( currFormat instanceof VideoFormat )
currentFormat = (VideoFormat)currFormat;
imageSize = currentFormat.getSize();
visualContainer.setPreferredSize ( imageSize );
setSize ( imageSize.width, imageSize.height + statusBar.getHeight() + toolbar.getHeight() );
else
System.err.println ("Error : Cannot get current video format");
invalidate();
pack();
return ( true );
else
System.err.println ("Error : Could not get visual component");
return ( false );
else
System.err.println ("Error : Cannot create player");
statusBar.setText ( "Cannot create player" );
return ( false );
else
System.err.println ("Error : No MediaLocator for " + webCamDeviceInfo.getName() );
statusBar.setText ( "No Media Locator for : " + webCamDeviceInfo.getName() );
return ( false );
catch ( IOException ioEx )
System.err.println ("Error connecting to [" + webCamDeviceInfo.getName() + "] : " + ioEx.getMessage() );
statusBar.setText ( "Connecting to : " + webCamDeviceInfo.getName() );
return ( false );
catch ( NoPlayerException npex )
statusBar.setText ("Cannot create player");
return ( false );
catch ( CannotRealizeException nre )
statusBar.setText ( "Cannot realize player");
return ( false );
else
return ( false );
* Dynamically create menu items
* @returns the device info object if found, null otherwise
public void setFormat ( VideoFormat selectedFormat )
if ( formatControl != null )
player.stop();
currentFormat = selectedFormat;
if ( visualComponent != null )
visualContainer.remove ( visualComponent );
imageSize = currentFormat.getSize();
visualContainer.setPreferredSize ( imageSize );
statusBar.setText ( "Format : " + currentFormat );
System.out.println ("Format : " + currentFormat );
formatControl.setFormat ( currentFormat );
player.start();
visualComponent = player.getVisualComponent();
if ( visualComponent != null )
visualContainer.add ( visualComponent, BorderLayout.CENTER );
invalidate(); // let the layout manager work out the sizes
pack();
else
System.out.println ("Visual component not an instance of FormatControl");
statusBar.setText ( "Visual component cannot change format" );
public VideoFormat getFormat ( )
return ( currentFormat );
protected void setUpToolBar ( )
toolbar = new JToolBar();
// Note : due to cosmetic glitches when undocking and docking the toolbar,
// I've set this to false.
toolbar.setFloatable(false);
// Note : If you supply the 16 x 16 bitmaps then you can replace
// the commented line in the MyToolBarAction constructor
formatButton = new MyToolBarAction ( "Resolution", "BtnFormat.jpg" );
captureButton = new MyToolBarAction ( "Capture", "BtnCapture.jpg" );
toolbar.add ( formatButton );
toolbar.add ( captureButton );
getContentPane().add ( toolbar, BorderLayout.NORTH );
protected void toolbarHandler ( MyToolBarAction actionBtn )
if ( actionBtn == formatButton )
Object selected = JOptionPane.showInputDialog (this,
"Select Video format",
"Capture format selection",
JOptionPane.INFORMATION_MESSAGE,
null, // Icon icon,
myFormatList, // videoFormats,
currentFormat );
if ( selected != null )
setFormat ( ((MyVideoFormat)selected).format );
else if ( actionBtn == captureButton )
Image photo = grabFrameImage ( );
if ( photo != null )
MySnapshot snapshot = new MySnapshot ( photo, new Dimension ( imageSize ) );
else
System.err.println ("Error : Could not grab frame");
* autoDetects the first web camera in the system
* searches for video for windows ( vfw ) capture devices
* @returns the device info object if found, null otherwise
public MyCaptureDeviceInfo[] autoDetect ( )
Vector list = CaptureDeviceManager.getDeviceList ( null );
CaptureDeviceInfo devInfo = null;
String name;
Vector capDevices = new Vector();
if ( list != null )
for ( int i=0; i < list.size(); i++ )
devInfo = (CaptureDeviceInfo)list.elementAt ( i );
name = devInfo.getName();
if ( name.startsWith ("vfw:") )
System.out.println ("DeviceManager List : " + name );
capDevices.addElement ( new MyCaptureDeviceInfo ( devInfo ) );
else
for ( int i = 0; i < 10; i++ )
try
name = VFWCapture.capGetDriverDescriptionName ( i );
if (name != null && name.length() > 1)
devInfo = com.sun.media.protocol.vfw.VFWSourceStream.autoDetect ( i );
if ( devInfo != null )
System.out.println ("VFW Autodetect List : " + name );
capDevices.addElement ( new MyCaptureDeviceInfo ( devInfo ) );
catch ( Exception ioEx )
System.err.println ("Error connecting to [" + webCamDeviceInfo.getName() + "] : " + ioEx.getMessage() );
// ignore errors detecting device
statusBar.setText ( "AutoDetect failed : " + ioEx.getMessage() );
MyCaptureDeviceInfo[] detected = new MyCaptureDeviceInfo[ capDevices.size() ];
for ( int i=0; i < capDevices.size(); i++ )
detected[i] = (MyCaptureDeviceInfo)capDevices.elementAt ( i );
return ( detected );
* deviceInfo
* @note outputs text information
public void deviceInfo ( )
if ( webCamDeviceInfo != null )
Format[] formats = webCamDeviceInfo.getFormats();
if ( ( formats != null ) && ( formats.length > 0 ) )
for ( int i=0; i < formats.length; i++ )
Format aFormat = formats;
if ( aFormat instanceof VideoFormat )
Dimension dim = ((VideoFormat)aFormat).getSize();
// System.out.println ("Video Format " + i + " : " + formats[i].getEncoding() + ", " + dim.width + " x " + dim.height );
else
System.out.println ("Error : No web cam detected");
* grabs a frame's buffer from the web cam / device
* @returns A frames buffer
public Buffer grabFrameBuffer ( )
if ( player != null )
FrameGrabbingControl fgc = (FrameGrabbingControl)player.getControl ( "javax.media.control.FrameGrabbingControl" );
if ( fgc != null )
return ( fgc.grabFrame() );
else
System.err.println ("Error : FrameGrabbingControl is null");
return ( null );
else
System.err.println ("Error : Player is null");
return ( null );
* grabs a frame's buffer, as an image, from the web cam / device
* @returns A frames buffer as an image
public Image grabFrameImage ( )
Buffer buffer = grabFrameBuffer();
if ( buffer != null )
// Convert it to an image
BufferToImage btoi = new BufferToImage ( (VideoFormat)buffer.getFormat() );
if ( btoi != null )
Image image = btoi.createImage ( buffer );
if ( image != null )
return ( image );
else
System.err.println ("Error : BufferToImage cannot convert buffer");
return ( null );
else
System.err.println ("Error : cannot create BufferToImage instance");
return ( null );
else
System.out.println ("Error : Buffer grabbed is null");
return ( null );
* Closes and cleans up the player
public void playerClose ( )
if ( player != null )
player.close();
player.deallocate();
player = null;
public void windowClosing ( WindowEvent e )
playerClose();
System.exit ( 1 );
public void componentResized ( ComponentEvent e )
Dimension dim = getSize();
boolean mustResize = false;
if ( dim.width < MIN_WIDTH )
dim.width = MIN_WIDTH;
mustResize = true;
if ( dim.height < MIN_HEIGHT )
dim.height = MIN_HEIGHT;
mustResize = true;
if ( mustResize )
setSize ( dim );
public void windowActivated ( WindowEvent e ) { }
public void windowClosed ( WindowEvent e ) { }
public void windowDeactivated ( WindowEvent e ) { }
public void windowDeiconified ( WindowEvent e ) { }
public void windowIconified ( WindowEvent e ) { }
public void windowOpened ( WindowEvent e ) { }
public void componentHidden(ComponentEvent e) { }
public void componentMoved(ComponentEvent e) { }
public void componentShown(ComponentEvent e) { }
protected void finalize ( ) throws Throwable
playerClose();
super.finalize();
class MyToolBarAction extends AbstractAction
public MyToolBarAction ( String name, String imagefile )
// Note : Use version this if you supply your own toolbar icons
// super ( name, new ImageIcon ( imagefile ) );
super ( name );
public void actionPerformed ( ActionEvent event )
toolbarHandler ( this );
class MyVideoFormat
public VideoFormat format;
public MyVideoFormat ( VideoFormat format )
this.format = format;
public String toString ( )
Dimension dim = format.getSize();
return ( format.getEncoding() + " [ " + dim.width + " x " + dim.height + " ]" );
class MyCaptureDeviceInfo
public CaptureDeviceInfo capDevInfo;
public MyCaptureDeviceInfo ( CaptureDeviceInfo devInfo )
capDevInfo = devInfo;
public String toString ( )
return ( capDevInfo.getName() );
class MySnapshot extends JFrame implements ImageObserver
protected Image photo = null;
protected int shotNumber;
public MySnapshot ( Image grabbedFrame, Dimension imageSize )
super ( );
shotNumber = shotCounter++;
setTitle ( "Photo" + shotNumber );
photo = grabbedFrame;
setDefaultCloseOperation ( WindowConstants.DISPOSE_ON_CLOSE );
int imageHeight = photo.getWidth ( this );
int imageWidth = photo.getHeight ( this );
setSize ( imageSize.width, imageSize.height );
final FileDialog saveDialog = new FileDialog ( this, "Save JPEG", FileDialog.SAVE );
final JFrame thisCopy = this;
saveDialog.setFile ( "Photo" + shotNumber );
addWindowListener ( new WindowAdapter()
public void windowClosing ( WindowEvent e )
saveDialog.show();
String filename = saveDialog.getFile();
if ( filename != null )
if ( saveJPEG ( filename ) )
JOptionPane.showMessageDialog ( thisCopy, "Saved " + filename );
setVisible ( false );
dispose();
else
JOptionPane.showMessageDialog ( thisCopy, "Error saving " + filename );
else
setVisible ( false );
dispose();
setVisible ( true );
public void paint ( Graphics g )
super.paint ( g );
g.drawImage ( photo, 0, 0, getWidth(), getHeight(), Color.black, this );
* Saves an image as a JPEG
* @params the image to save
* @params the filename to save the image as
public boolean saveJPEG ( String filename )
boolean saved = false;
BufferedImage bi = new BufferedImage ( photo.getWidth(null),
photo.getHeight(null),
BufferedImage.TYPE_INT_RGB );
Graphics2D g2 = bi.createGraphics();
g2.drawImage ( photo, null, null );
FileOutputStream out = null;
try
out = new FileOutputStream ( filename );
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder ( out );
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam ( bi );
param.setQuality ( 1.0f, false ); // 100% high quality setting, no compression
encoder.setJPEGEncodeParam ( param );
encoder.encode ( bi );
out.close();
saved = true;
catch ( Exception ex )
System.out.println ("Error saving JPEG : " + ex.getMessage() );
return ( saved );
} // of MySnapshot
public static void main (String[] args )
try
JWebCam myWebCam = new JWebCam ( "Web Cam Capture" );
myWebCam.setVisible ( true );
if ( !myWebCam.initialise() )
System.out.println ("Web Cam not detected / initialised");
catch ( Exception ex )
ex.printStackTrace(); -
No Question, just example web cam capture code
Hi,
Since loads of people ask for an example of capturing pics from a web cam, here's one that captures pics, lets you take snapshots, which it displays in another frame. When you shut down the frame it asks if you want to save it to a JPEG.
I'm mainly posting this to spite Eka_Kupkova, who only visits this forum to shamelessly advertise a commercial Twain based package in every single posting on this forum which mentions web cams.
Notes : ( Could be more, read the install docs for JMF )
1. you must download the "performance" version of jmf to capture video.
2. I "think" you need to setup the JMF_HOME environment variable
3. Run the jmfinit program to detect your camera and register it.
I had to run it a couple of times before it worked.
4. I had 2 icons for my toolbar, BtnFormat.jpg and BtnCapture.jpg.
They were just 16 x 16 pixel bitmaps, you can make them up yourself.
5. I assume you've got the webcam working and the driver installed already.
Ps. if you find this useful, then reply back with where you are in the world. I'm in Dublin, Ireland.
cheers,
Owen
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import javax.media.*;
import javax.media.format.*;
import javax.media.util.*;
import javax.media.control.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import com.sun.image.codec.jpeg.*;
// Ps. I think JMF 2.1.1c used a different package for this class..
import com.sun.media.vfw.VFWCapture;
public class JWebCam extends JFrame
implements WindowListener,
ComponentListener
protected final static int MIN_WIDTH = 320;
protected final static int MIN_HEIGHT = 240;
protected static int shotCounter = 1;
protected JLabel statusBar = null;
protected Component visualComponent = null;
protected JToolBar toolbar = null;
protected MyToolBarAction formatButton = null;
protected MyToolBarAction captureButton = null;
protected Player player = null;
protected CaptureDeviceInfo webCamDeviceInfo = null;
protected MediaLocator ml = null;
protected Dimension imageSize = null;
protected FormatControl formatControl = null;
protected VideoFormat currentFormat = null;
protected Format[] videoFormats = null;
protected MyVideoFormat[] myFormatList = null;
* Constructor
public JWebCam ( String frameTitle )
super ( frameTitle );
try
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
catch ( Exception cnfe )
System.out.println ("Note : Cannot load look and feel settings");
addWindowListener ( this );
addComponentListener ( this );
getContentPane().setLayout ( new BorderLayout() );
statusBar = new JLabel ("Initialising...");
statusBar.setBorder ( new EtchedBorder() );
getContentPane().add ( statusBar, BorderLayout.SOUTH );
setSize ( 320, 260 ); // default size...
setVisible ( true );
* Initialise
* @returns true if web cam is detected
public boolean initialise ( )
throws Exception
return ( initialise ( autoDetect() ) );
* Initialise
* @params _deviceInfo, specific web cam device if not autodetected
* @returns true if web cam is detected
public boolean initialise ( CaptureDeviceInfo _deviceInfo )
throws Exception
webCamDeviceInfo = _deviceInfo;
if ( webCamDeviceInfo != null )
statusBar.setText ( "Connecting to : " + webCamDeviceInfo.getName() );
try
// setUpMenu ( );
setUpToolBar();
getContentPane().add ( toolbar, BorderLayout.NORTH );
ml = webCamDeviceInfo.getLocator();
if ( ml != null )
player = Manager.createRealizedPlayer ( ml );
if ( player != null )
formatControl = (FormatControl)player.getControl ( "javax.media.control.FormatControl" );
videoFormats = webCamDeviceInfo.getFormats();
setFormat ( (VideoFormat)videoFormats[0] );
// player.start();
visualComponent = player.getVisualComponent();
getContentPane().add ( visualComponent, BorderLayout.CENTER );
invalidate();
pack();
setSize ( imageSize.width, imageSize.height + statusBar.getHeight() + toolbar.getHeight() );
myFormatList = new MyVideoFormat[videoFormats.length];
for ( int i=0; i<videoFormats.length; i++ )
myFormatList[i] = new MyVideoFormat ( (VideoFormat)videoFormats[i] );
else
statusBar.setText ( "No Media Locator for : " + webCamDeviceInfo.getName() );
return ( true );
catch ( IOException ioEx )
statusBar.setText ( "Connecting to : " + webCamDeviceInfo.getName() );
return ( false );
catch ( NoPlayerException npex )
statusBar.setText ("Cannot create player");
return ( false );
catch ( CannotRealizeException nre )
statusBar.setText ( "Cannot realize player");
return ( false );
else
return ( false );
* Dynamically create menu items
* @returns the device info object if found, null otherwise
public void setFormat ( VideoFormat selectedFormat )
if ( formatControl != null )
player.stop();
statusBar.setText ( "Format : " + selectedFormat );
imageSize = selectedFormat.getSize();
formatControl.setFormat ( selectedFormat );
currentFormat = selectedFormat;
setSize ( imageSize.width, imageSize.height + statusBar.getHeight() + toolbar.getHeight() );
player.start();
else
System.out.println ("Visual component not an instance of FormatControl");
statusBar.setText ( "Visual component cannot change format" );
protected void setUpToolBar ( )
toolbar = new JToolBar();
formatButton = new MyToolBarAction ( "Format", "BtnFormat.jpg" );
captureButton = new MyToolBarAction ( "Capture", "BtnCapture.jpg" );
if ( formatButton != null )
toolbar.add ( formatButton );
toolbar.add ( captureButton );
getContentPane().add ( toolbar, BorderLayout.NORTH );
protected void toolbarHandler ( MyToolBarAction actionBtn )
if ( actionBtn == formatButton )
// JOptionPane.showConfirmDialog ( this, "Format Dialog" );
Object selected = JOptionPane.showInputDialog (this,
"Select Video format",
"Capture format selection",
JOptionPane.INFORMATION_MESSAGE,
null, // Icon icon,
myFormatList, // videoFormats,
currentFormat );
if ( selected != null )
setFormat ( ((MyVideoFormat)selected).format );
else if ( actionBtn == captureButton )
Image photo = grabFrameImage ( );
MySnapshot snapshot = new MySnapshot ( photo, new Dimension ( imageSize ) );
* autoDetects the first web camera in the system
* @returns the device info object if found, null otherwise
public CaptureDeviceInfo autoDetect ( )
Vector list = CaptureDeviceManager.getDeviceList ( null );
CaptureDeviceInfo devInfo = null;
if ( list != null )
String name;
for ( int i=0; i<list.size(); i++ )
devInfo = (CaptureDeviceInfo)list.elementAt ( i );
name = devInfo.getName();
if ( name.startsWith ("vfw:") )
break;
if ( devInfo != null && devInfo.getName().startsWith("vfw:") )
return ( devInfo );
else
for ( int i = 0; i < 10; i++ )
try
name = VFWCapture.capGetDriverDescriptionName ( i );
if (name != null && name.length() > 1)
devInfo = com.sun.media.protocol.vfw.VFWSourceStream.autoDetect ( i );
if ( devInfo != null )
return ( devInfo );
catch ( Exception ioEx )
// ignore errors detecting device
statusBar.setText ( "AutoDetect failed : " + ioEx.getMessage() );
return ( null );
else
return ( null );
* deviceInfo
* @note outputs text information
public void deviceInfo ( )
if ( webCamDeviceInfo != null )
Format[] formats = webCamDeviceInfo.getFormats();
if ( ( formats != null ) && ( formats.length > 0 ) )
for ( int i=0; i<formats.length; i++ )
Format aFormat = formats;
if ( aFormat instanceof VideoFormat )
Dimension dim = ((VideoFormat)aFormat).getSize();
System.out.println ("Video Format " + i + " : " + formats[i].getEncoding() + ", " + dim.width + " x " + dim.height );
else
System.out.println ("Format " + i + " : " + formats[i].getEncoding() );
else
System.out.println ("Error : No web cam detected");
* grabs a frame's buffer from the web cam / device
* @returns A frames buffer
public Buffer grabFrameBuffer ( )
if ( player != null )
FrameGrabbingControl fgc = (FrameGrabbingControl)player.getControl ( "javax.media.control.FrameGrabbingControl" );
Buffer buf = fgc.grabFrame();
return ( buf );
else
return ( null );
* grabs a frame's buffer, as an image, from the web cam / device
* @returns A frames buffer as an image
public Image grabFrameImage ( )
Buffer buffer = grabFrameBuffer();
if ( buffer != null )
// Convert it to an image
BufferToImage btoi = new BufferToImage ( (VideoFormat)buffer.getFormat() );
Image image = btoi.createImage ( buffer );
return ( image );
else
System.out.println ("Error : Buffer grabbed is null");
return ( null );
* Closes and cleans up the player
public void playerClose ( )
if ( player != null )
player.close();
player.deallocate();
player = null;
public void windowClosing ( WindowEvent e )
playerClose();
System.exit ( 1 );
public void componentResized(ComponentEvent e)
Dimension dim = getSize();
boolean mustResize = false;
if ( dim.width < MIN_WIDTH )
dim.width = MIN_WIDTH;
mustResize = true;
if ( dim.height < MIN_HEIGHT )
dim.height = MIN_HEIGHT;
mustResize = true;
if ( mustResize )
setSize ( dim );
public void windowActivated ( WindowEvent e ) { }
public void windowClosed ( WindowEvent e ) { }
public void windowDeactivated ( WindowEvent e ) { }
public void windowDeiconified ( WindowEvent e ) { }
public void windowIconified ( WindowEvent e ) { }
public void windowOpened ( WindowEvent e ) { }
public void componentHidden(ComponentEvent e) { }
public void componentMoved(ComponentEvent e) { }
public void componentShown(ComponentEvent e) { }
protected void finalize ( ) throws Throwable
playerClose();
super.finalize();
class MyToolBarAction extends AbstractAction
public MyToolBarAction ( String name, String imagefile )
super ( name, new ImageIcon ( imagefile ) );
public void actionPerformed ( ActionEvent event )
toolbarHandler ( this );
class MyVideoFormat
public VideoFormat format;
public MyVideoFormat ( VideoFormat _format )
format = _format;
public String toString ( )
Dimension dim = format.getSize();
return ( format.getEncoding() + " [ " + dim.width + " x " + dim.height + " ]" );
class MySnapshot extends JFrame
protected Image photo = null;
protected int shotNumber;
public MySnapshot ( Image grabbedFrame, Dimension imageSize )
super ( );
shotNumber = shotCounter++;
setTitle ( "Photo" + shotNumber );
photo = grabbedFrame;
setDefaultCloseOperation ( WindowConstants.DO_NOTHING_ON_CLOSE );
int imageHeight = photo.getWidth ( this );
int imageWidth = photo.getHeight ( this );
setSize ( imageSize.width, imageSize.height );
final FileDialog saveDialog = new FileDialog ( this, "Save JPEG", FileDialog.SAVE );
final JFrame thisCopy = this;
saveDialog.setFile ( "Photo" + shotNumber );
addWindowListener ( new WindowAdapter()
public void windowClosing ( WindowEvent e )
saveDialog.show();
String filename = saveDialog.getFile();
if ( filename != null )
if ( saveJPEG ( filename ) )
JOptionPane.showMessageDialog ( thisCopy, "Saved " + filename );
setVisible ( false );
dispose();
else
JOptionPane.showMessageDialog ( thisCopy, "Error saving " + filename );
else
setVisible ( false );
dispose();
setVisible ( true );
public void paint ( Graphics g )
g.drawImage ( photo, 0, 0, getWidth(), getHeight(), this );
* Saves an image as a JPEG
* @params the image to save
* @params the filename to save the image as
public boolean saveJPEG ( String filename )
boolean saved = false;
BufferedImage bi = new BufferedImage ( photo.getWidth(null),
photo.getHeight(null),
BufferedImage.TYPE_INT_RGB );
Graphics2D g2 = bi.createGraphics();
g2.drawImage ( photo, null, null );
FileOutputStream out = null;
try
out = new FileOutputStream ( filename );
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder ( out );
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam ( bi );
param.setQuality ( 1.0f, false );
encoder.setJPEGEncodeParam ( param );
encoder.encode ( bi );
out.close();
saved = true;
catch ( Exception ex )
System.out.println ("Error saving JPEG : " + ex.getMessage() );
return ( saved );
} // of MySnapshot
public static void main (String[] args )
try
JWebCam myWebCam = new JWebCam ( "TimeSlice Web Cam Capture" );
if ( myWebCam.initialise() )
// myWebCam.deviceInfo(); // outputs device info
else
System.out.println ("Web Cam not detected / initialised");
catch ( Exception ex )
ex.printStackTrace();Doohhh... I posted an old version which didn't work.
I tried and tested this last night, and it runs grand using Ver 2.1.1e.
Tested under Windows 98, using an old Creative GO Camera.
Haven't tried it under Linux, but suspect you'd have to at least change an references to "vfw" to "v4l".
You'll need jmf.jar in your classpath to run it too.
cheers,
Owen
import javax.swing.*;
import javax.swing.border.*;
import java.io.*;
import javax.media.*;
import javax.media.datasink.*;
import javax.media.format.*;
import javax.media.protocol.*;
import javax.media.util.*;
import javax.media.control.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import com.sun.image.codec.jpeg.*;
// import com.sun.media.vfw.VFWCapture; // JMF 2.1.1c version
import com.sun.media.protocol.vfw.VFWCapture; // JMF 2.1.1e version
public class JWebCam extends JFrame
implements WindowListener, ComponentListener
protected final static int MIN_WIDTH = 320;
protected final static int MIN_HEIGHT = 240;
protected static int shotCounter = 1;
protected JLabel statusBar = null;
protected JPanel visualContainer = null;
protected Component visualComponent = null;
protected JToolBar toolbar = null;
protected MyToolBarAction formatButton = null;
protected MyToolBarAction captureButton = null;
protected Player player = null;
protected CaptureDeviceInfo webCamDeviceInfo = null;
protected MediaLocator ml = null;
protected Dimension imageSize = null;
protected FormatControl formatControl = null;
protected VideoFormat currentFormat = null;
protected Format[] videoFormats = null;
protected MyVideoFormat[] myFormatList = null;
protected boolean initialised = false;
* Constructor
public JWebCam ( String frameTitle )
super ( frameTitle );
try
UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
catch ( Exception cnfe )
System.out.println ("Note : Cannot load look and feel settings");
setSize ( 320, 260 ); // default size...
addWindowListener ( this );
addComponentListener ( this );
getContentPane().setLayout ( new BorderLayout() );
visualContainer = new JPanel();
visualContainer.setLayout ( new BorderLayout() );
getContentPane().add ( visualContainer, BorderLayout.CENTER );
statusBar = new JLabel ("");
statusBar.setBorder ( new EtchedBorder() );
getContentPane().add ( statusBar, BorderLayout.SOUTH );
* Initialise
* @returns true if web cam is detected
public boolean initialise ( )
throws Exception
return ( initialise ( autoDetect() ) );
* Initialise
* @params _deviceInfo, specific web cam device if not autodetected
* @returns true if web cam is detected
public boolean initialise ( CaptureDeviceInfo _deviceInfo )
throws Exception
statusBar.setText ( "Initialising...");
webCamDeviceInfo = _deviceInfo;
if ( webCamDeviceInfo != null )
statusBar.setText ( "Connecting to : " + webCamDeviceInfo.getName() );
try
setUpToolBar();
getContentPane().add ( toolbar, BorderLayout.NORTH );
ml = webCamDeviceInfo.getLocator();
if ( ml != null )
player = Manager.createRealizedPlayer ( ml );
if ( player != null )
player.start();
formatControl = (FormatControl)player.getControl ( "javax.media.control.FormatControl" );
videoFormats = webCamDeviceInfo.getFormats();
visualComponent = player.getVisualComponent();
if ( visualComponent != null )
visualContainer.add ( visualComponent, BorderLayout.CENTER );
myFormatList = new MyVideoFormat[videoFormats.length];
for ( int i=0; i<videoFormats.length; i++ )
myFormatList[i] = new MyVideoFormat ( (VideoFormat)videoFormats[i] );
Format currFormat = formatControl.getFormat();
if ( currFormat instanceof VideoFormat )
currentFormat = (VideoFormat)currFormat;
imageSize = currentFormat.getSize();
visualContainer.setPreferredSize ( imageSize );
setSize ( imageSize.width, imageSize.height + statusBar.getHeight() + toolbar.getHeight() );
else
System.err.println ("Error : Cannot get current video format");
invalidate();
pack();
return ( true );
else
System.err.println ("Error : Could not get visual component");
return ( false );
else
System.err.println ("Error : Cannot create player");
statusBar.setText ( "Cannot create player" );
return ( false );
else
System.err.println ("Error : No MediaLocator for " + webCamDeviceInfo.getName() );
statusBar.setText ( "No Media Locator for : " + webCamDeviceInfo.getName() );
return ( false );
catch ( IOException ioEx )
statusBar.setText ( "Connecting to : " + webCamDeviceInfo.getName() );
return ( false );
catch ( NoPlayerException npex )
statusBar.setText ("Cannot create player");
return ( false );
catch ( CannotRealizeException nre )
statusBar.setText ( "Cannot realize player");
return ( false );
else
return ( false );
* Dynamically create menu items
* @returns the device info object if found, null otherwise
public void setFormat ( VideoFormat selectedFormat )
if ( formatControl != null )
player.stop();
imageSize = selectedFormat.getSize();
formatControl.setFormat ( selectedFormat );
player.start();
statusBar.setText ( "Format : " + selectedFormat );
currentFormat = selectedFormat;
visualContainer.setPreferredSize ( currentFormat.getSize() );
setSize ( imageSize.width, imageSize.height + statusBar.getHeight() + toolbar.getHeight() );
else
System.out.println ("Visual component not an instance of FormatControl");
statusBar.setText ( "Visual component cannot change format" );
public VideoFormat getFormat ( )
return ( currentFormat );
protected void setUpToolBar ( )
toolbar = new JToolBar();
// Note : If you supply the 16 x 16 bitmaps then you can replace
// the commented line in the MyToolBarAction constructor
formatButton = new MyToolBarAction ( "Resolution", "BtnFormat.jpg" );
captureButton = new MyToolBarAction ( "Capture", "BtnCapture.jpg" );
toolbar.add ( formatButton );
toolbar.add ( captureButton );
getContentPane().add ( toolbar, BorderLayout.NORTH );
protected void toolbarHandler ( MyToolBarAction actionBtn )
if ( actionBtn == formatButton )
Object selected = JOptionPane.showInputDialog (this,
"Select Video format",
"Capture format selection",
JOptionPane.INFORMATION_MESSAGE,
null, // Icon icon,
myFormatList, // videoFormats,
currentFormat );
if ( selected != null )
setFormat ( ((MyVideoFormat)selected).format );
else if ( actionBtn == captureButton )
Image photo = grabFrameImage ( );
if ( photo != null )
MySnapshot snapshot = new MySnapshot ( photo, new Dimension ( imageSize ) );
else
System.err.println ("Error : Could not grab frame");
* autoDetects the first web camera in the system
* searches for video for windows ( vfw ) capture devices
* @returns the device info object if found, null otherwise
public CaptureDeviceInfo autoDetect ( )
Vector list = CaptureDeviceManager.getDeviceList ( null );
CaptureDeviceInfo devInfo = null;
if ( list != null )
String name;
for ( int i=0; i<list.size(); i++ )
devInfo = (CaptureDeviceInfo)list.elementAt ( i );
name = devInfo.getName();
if ( name.startsWith ("vfw:") )
break;
if ( devInfo != null && devInfo.getName().startsWith("vfw:") )
return ( devInfo );
else
for ( int i = 0; i < 10; i++ )
try
name = VFWCapture.capGetDriverDescriptionName ( i );
if (name != null && name.length() > 1)
devInfo = com.sun.media.protocol.vfw.VFWSourceStream.autoDetect ( i );
if ( devInfo != null )
return ( devInfo );
catch ( Exception ioEx )
// ignore errors detecting device
statusBar.setText ( "AutoDetect failed : " + ioEx.getMessage() );
return ( null );
else
return ( null );
* deviceInfo
* @note outputs text information
public void deviceInfo ( )
if ( webCamDeviceInfo != null )
Format[] formats = webCamDeviceInfo.getFormats();
if ( ( formats != null ) && ( formats.length > 0 ) )
for ( int i=0; i<formats.length; i++ )
Format aFormat = formats;
if ( aFormat instanceof VideoFormat )
Dimension dim = ((VideoFormat)aFormat).getSize();
// System.out.println ("Video Format " + i + " : " + formats[i].getEncoding() + ", " + dim.width + " x " + dim.height );
else
System.out.println ("Error : No web cam detected");
* grabs a frame's buffer from the web cam / device
* @returns A frames buffer
public Buffer grabFrameBuffer ( )
if ( player != null )
FrameGrabbingControl fgc = (FrameGrabbingControl)player.getControl ( "javax.media.control.FrameGrabbingControl" );
if ( fgc != null )
return ( fgc.grabFrame(); );
else
System.err.println ("Error : FrameGrabbingControl is null");
return ( null );
else
System.err.println ("Error : Player is null");
return ( null );
* grabs a frame's buffer, as an image, from the web cam / device
* @returns A frames buffer as an image
public Image grabFrameImage ( )
Buffer buffer = grabFrameBuffer();
if ( buffer != null )
// Convert it to an image
BufferToImage btoi = new BufferToImage ( (VideoFormat)buffer.getFormat() );
if ( btoi != null )
Image image = btoi.createImage ( buffer );
if ( image != null )
return ( image );
else
System.err.println ("Error : BufferToImage cannot convert buffer");
return ( null );
else
System.err.println ("Error : cannot create BufferToImage instance");
return ( null );
else
System.out.println ("Error : Buffer grabbed is null");
return ( null );
* Closes and cleans up the player
public void playerClose ( )
if ( player != null )
player.close();
player.deallocate();
player = null;
public void windowClosing ( WindowEvent e )
playerClose();
System.exit ( 1 );
public void componentResized ( ComponentEvent e )
Dimension dim = getSize();
boolean mustResize = false;
if ( dim.width < MIN_WIDTH )
dim.width = MIN_WIDTH;
mustResize = true;
if ( dim.height < MIN_HEIGHT )
dim.height = MIN_HEIGHT;
mustResize = true;
if ( mustResize )
setSize ( dim );
public void windowActivated ( WindowEvent e ) { }
public void windowClosed ( WindowEvent e ) { }
public void windowDeactivated ( WindowEvent e ) { }
public void windowDeiconified ( WindowEvent e ) { }
public void windowIconified ( WindowEvent e ) { }
public void windowOpened ( WindowEvent e ) { }
public void componentHidden(ComponentEvent e) { }
public void componentMoved(ComponentEvent e) { }
public void componentShown(ComponentEvent e) { }
protected void finalize ( ) throws Throwable
playerClose();
super.finalize();
class MyToolBarAction extends AbstractAction
public MyToolBarAction ( String name, String imagefile )
// Note : Use version this if you supply your own toolbar icons
// super ( name, new ImageIcon ( imagefile ) );
super ( name );
public void actionPerformed ( ActionEvent event )
toolbarHandler ( this );
class MyVideoFormat
public VideoFormat format;
public MyVideoFormat ( VideoFormat _format )
format = _format;
public String toString ( )
Dimension dim = format.getSize();
return ( format.getEncoding() + " [ " + dim.width + " x " + dim.height + " ]" );
class MySnapshot extends JFrame
protected Image photo = null;
protected int shotNumber;
public MySnapshot ( Image grabbedFrame, Dimension imageSize )
super ( );
shotNumber = shotCounter++;
setTitle ( "Photo" + shotNumber );
photo = grabbedFrame;
setDefaultCloseOperation ( WindowConstants.DISPOSE_ON_CLOSE );
int imageHeight = photo.getWidth ( this );
int imageWidth = photo.getHeight ( this );
setSize ( imageSize.width, imageSize.height );
final FileDialog saveDialog = new FileDialog ( this, "Save JPEG", FileDialog.SAVE );
final JFrame thisCopy = this;
saveDialog.setFile ( "Photo" + shotNumber );
addWindowListener ( new WindowAdapter()
public void windowClosing ( WindowEvent e )
saveDialog.show();
String filename = saveDialog.getFile();
if ( filename != null )
if ( saveJPEG ( filename ) )
JOptionPane.showMessageDialog ( thisCopy, "Saved " + filename );
setVisible ( false );
dispose();
else
JOptionPane.showMessageDialog ( thisCopy, "Error saving " + filename );
else
setVisible ( false );
dispose();
setVisible ( true );
public void paint ( Graphics g )
g.drawImage ( photo, 0, 0, getWidth(), getHeight(), this );
* Saves an image as a JPEG
* @params the image to save
* @params the filename to save the image as
public boolean saveJPEG ( String filename )
boolean saved = false;
BufferedImage bi = new BufferedImage ( photo.getWidth(null),
photo.getHeight(null),
BufferedImage.TYPE_INT_RGB );
Graphics2D g2 = bi.createGraphics();
g2.drawImage ( photo, null, null );
FileOutputStream out = null;
try
out = new FileOutputStream ( filename );
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder ( out );
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam ( bi );
param.setQuality ( 1.0f, false ); // 100% high quality setting, no compression
encoder.setJPEGEncodeParam ( param );
encoder.encode ( bi );
out.close();
saved = true;
catch ( Exception ex )
System.out.println ("Error saving JPEG : " + ex.getMessage() );
return ( saved );
} // of MySnapshot
public static void main (String[] args )
try
JWebCam myWebCam = new JWebCam ( "TimeSlice Web Cam Capture" );
myWebCam.setVisible ( true );
if ( !myWebCam.initialise() )
System.out.println ("Web Cam not detected / initialised");
catch ( Exception ex )
ex.printStackTrace(); -
inbuilt isight camera is detected in system profiler but no image is being detected only a black screen shows up. I have tried all of the troubleshooting instructions and it still wont work. The iMac im using is OS X 10.6 and was an ex-floor model
Hi,
I would try a Safe Boot first. (This will take longer than a normal Boot and you will need to Restart afterwards).
If it were an older OS I would also suggest going to System Preferences > Displays and making sure the display is set to Millions. (My MacBook Pro does not have this option in Snow Leopard so I did presume Snow Leopard does not have it).
With some laptops there have been some issues with the cable up the back of the screen pulling loose with regular and frequent use of the lid, but this will not apply to you based on your specs. (it does take time to appear and is also somewhat rare). However it seems enough contact with the camera can make it appear in System Profiler and power it on but not give a pic.
If a Safe Boot does not work I would also try a PRAM reset.
Shut down the computer.
Restart it holding down Apple/CMD (or ⌘)+ALT( ⌥)+P+R Keys until you have heard three Start Up Bongs.
This is actually "less" destructive in that it clears less memory items than Safe Boot but they are different enough to warrant trying.
Do you have an older version of iGlasses installed ?
The one for Leopard does not work for Snow Leopard.
Do you have Web Browser open ?
This may point to Google Video Chat Plug-in and Flash Conflict. It would be rare to allow another app to access the camera even if not displayiong a Pic.
(Chrome Installs the Plug-in as does the standalone download).
Knowing what "any application" exactly you are trying might help us pin it down.
Any additional downloaded apps that can use the camera ?
Do you happen to have something balck in front of the camera ?
8:20 PM Sunday; October 9, 2011
Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat"
G4/1GhzDual MDD (Leopard 10.5.8)
MacBookPro 2Gb( 10.6.8)
Mac OS X (10.6.8),
"Limit the Logs to the Bits above Binary Images." No, Seriously
Maybe you are looking for
-
Won't play all of itunes music and won't sync books at all
Am having all kinds of problems after updating to the newest software on 3gs. All of my music shows up on the phone, but only a few songs will play. Books will not show up at all. Tried resyncing both music and books and it will not. Syncs contac
-
"Name Dictionary" not found in "document catalog" of PDF
Hi All, I am working with a PDF parser and while parsing a PDF file I found that while reading document catalog of PDF, the "Name Dictionary" which I got is not present in PDF file but When I updated to Adobe Reader X it seems to be working fine. So,
-
Select query based LOV for tabular form attributes
Hi HTMLDB Team, Congrats u all for the new release of HTMLDB in htmldb.oracle.com. I badly need a solution of the below problem. Say , i have table called user_col_comments now i want to display the table_name ,column_name and comments in a tabular f
-
Can anyone please guide me for setting up the Custom report in OTM (Oracle transportation Management) Any help is highly appreciated. Regards, -
-
Oracle products Licensing Information
Hello, I'm looking to setup Oracle 11g RAC with TimesTen Cache for our product. I have two questions: 1. When buying Oracle RAC, is it necessary to purchase Oracle 11g software (Enterprise Edition) separately or is it included with RAC software? 2. I