Problem with using JMF audio over a network

Hiya, I'm using IBM JMF code but I'm having problems trying to get it transmit data from the MediaTransmitter to the MediaPlayerFrame.
I'm kinda new to JMF so I assume I'm missing something basis for why this doesn't work.
Any help would be greatly appreciated.
MediaPlayerFrame
import javax.media.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
* An instance of the MediaPlayerFrame may be used to display any media
* recognized * by JMF.  This is intended to be a very simple GUI example,
* displaying all possible controls for the given media type.
public class MediaPlayerFrame extends JFrame {
     * The frame title.
    private static final String FRAME_TITLE = "developerWorks JMF Tutorial " +
        "Media Player";
     * The panel title of the main control panel.
    private static final String CONTROL_PANEL_TITLE = "Control Panel";
    // location and size variables for the frame.
    private static final int LOC_X = 100;
    private static final int LOC_Y = 100;
    private static final int HEIGHT = 500;
    private static final int WIDTH = 500;
     private final static long serialVersionUID = 1;
     * The current player.
    private Player player = null;
     * The tabbed pane for displaying controls.
    private JTabbedPane tabPane = null;
     * Create an instance of the media frame.  No data will be displayed in the
     * frame until a player is set.
    public MediaPlayerFrame() {         
        super(FRAME_TITLE);
        System.out.println("MediaPlayerFrame");
        setLocation(LOC_X, LOC_Y);
        setSize(WIDTH, HEIGHT);
        tabPane = new JTabbedPane();
        getContentPane().add(tabPane);
        /* adds a window listener so that the player may be cleaned up before
           the frame actually closes.
        addWindowListener(new WindowAdapter() {
                               * Invoked when the frame is being closed.
                              public void windowClosing(WindowEvent e) {
                                  closeCurrentPlayer(); 
                                  /* Closing this frame will cause the entire
                                     application to exit.  When running this
                                     example as its own application, this is
                                     fine - but in general, a closing frame
                                     would not close the entire application. 
                                     If this behavior is not desired, comment
                                     out the following line:
                                  System.exit(0);
     * Creates the main panel.  This panel will contain the following if they
     * exist:
     * - The visual component: where any visual data is displayed, i.e. a
     * movie uses this control to display the video.
     * - The gain component:   where the gain/volume may be changed.  This
     * is often * contained in the control panel component (below.)
     * - The control panel component: time and some extra info regarding
     * the media.
    private JPanel createMainPanel() {
        System.out.println("createMainPanel");
        JPanel mainPanel = new JPanel();
        GridBagLayout gbl = new GridBagLayout();
        GridBagConstraints gbc = new GridBagConstraints();
        mainPanel.setLayout(gbl);
        boolean visualComponentExists = false;
        // if the visual component exists, add it to the newly created panel.
        if (player.getVisualComponent() != null) {
            visualComponentExists = true;
            gbc.gridx = 0;
            gbc.gridy = 0;
            gbc.weightx = 1;
            gbc.weighty = 1;
            gbc.fill = GridBagConstraints.BOTH;
            mainPanel.add(player.getVisualComponent(), gbc);
        // if the gain control component exists, add it to the new panel.
        if ((player.getGainControl() != null) &&
            (player.getGainControl().getControlComponent() != null)) {
            gbc.gridx = 1;
            gbc.gridy = 0;
            gbc.weightx = 0;
            gbc.weighty = 1;
            gbc.gridheight = 2;
            gbc.fill = GridBagConstraints.VERTICAL;
            mainPanel.add(player.getGainControl().getControlComponent(), gbc);
        // Add the control panel component if it exists (it should exists in
        // all cases.)
        if (player.getControlPanelComponent() != null) {
            gbc.gridx = 0;
            gbc.gridy = 1;
            gbc.weightx = 1;
            gbc.gridheight = 1;
            if (visualComponentExists) {
                gbc.fill = GridBagConstraints.HORIZONTAL;
                gbc.weighty = 0;
            } else {
                gbc.fill = GridBagConstraints.BOTH;
                gbc.weighty = 1;
            mainPanel.add(player.getControlPanelComponent(), gbc);
        return mainPanel;
     * Sets the media locator.  Setting this to a new value effectively
     * discards any Player which may have already existed.
     * @param locator the new MediaLocator object.
     * @throws IOException indicates an IO error in opening the media.
     * @throws NoPlayerException indicates no player was found for the
     * media type.
     * @throws CannotRealizeException indicates an error in realizing the
     * media file or stream.
    public void setMediaLocator(MediaLocator locator) throws IOException,
        NoPlayerException, CannotRealizeException {
          System.out.println("setMediaLocator: " +locator);
        // create a new player with the new locator.  This will effectively
        // stop and discard any current player.
        setPlayer(Manager.createRealizedPlayer(locator));       
     * Sets the player reference.  Setting this to a new value will discard
     * any Player which already exists.  It will also refresh the contents
     * of the pane with the components for the new player.  A null value will
     * stop the discard the current player and clear the contents of the
     * frame.
    public void setPlayer(Player newPlayer) {      
        System.out.println("setPlayer");
        // close the current player
        closeCurrentPlayer();          
        player = newPlayer;
        // refresh the tabbed pane.
        tabPane.removeAll();
        if (player == null) return;
        // add the new main panel
        tabPane.add(CONTROL_PANEL_TITLE, createMainPanel());
        // add any other controls which may exist in the player.  These
        // controls should already contain a name which is used in the
        // tabbed pane.
        Control[] controls = player.getControls();
        for (int i = 0; i < controls.length; i++) {
            if (controls.getControlComponent() != null) {
tabPane.add(controls[i].getControlComponent());
* Stops and closes the current player if one exists.
private void closeCurrentPlayer() {
if (player != null) {
player.stop();
player.close();
* Prints a usage message to System.out for how to use this class
* through the command line.
public static void printUsage() {
System.out.println("Usage: java MediaPlayerFrame mediaLocator");
* Allows the user to run the class through the command line.
* Only one argument is allowed, which is the media locator.
public static void main(String[] args) {
try {
if (args.length == 1) {
MediaPlayerFrame mpf = new MediaPlayerFrame();
/* The following line creates a media locator using the String
passed in through the command line. This version should
be used when receiving media streamed over a network.
mpf.setMediaLocator(new MediaLocator(args[0]));
/* the following line may be used to create and set the media
locator from a simple file name. This works fine when
playing local media. To play media streamed over a
network, you should use the previous setMediaLocator()
line and comment this one out.
//mpf.setMediaLocator(new MediaLocator(
// new File(args[0]).toURL()));
mpf.setVisible(true);
} else {
printUsage();
} catch (Throwable t) {
t.printStackTrace();
MediaTransmitter
import javax.media.*;
import javax.media.control.*;
import javax.media.protocol.*;
import javax.media.format.*;
import java.io.IOException;
import java.io.File;
* Creates a new media transmitter.  The media transmitter may be used to
* transmit a data source over a network.
public class MediaTransmitter {
     * Output locator - this is the broadcast address for the media.
    private MediaLocator mediaLocator = null;
     * The data sink object used to broadcast the results from the processor
     * to the network.
    private DataSink dataSink = null;
     * The processor used to read the media from a local file, and produce an
     * output stream which will be handed to the data sink object for
     * broadcast.
    private Processor mediaProcessor = null;
     * The track formats used for all data sources in this transmitter.  It is
     * assumed that this transmitter will always be associated with the same
     * RTP stream format, so this is made static.
    private static final Format[] FORMATS = new Format[] {
        new AudioFormat(AudioFormat.MPEG_RTP)};
     * The content descriptor for this transmitter.  It is assumed that this
     * transmitter always handles the same type of RTP content, so this is
     * made static.
    private static final ContentDescriptor CONTENT_DESCRIPTOR =
        new ContentDescriptor(ContentDescriptor.RAW_RTP);
     * Creates a new transmitter with the given outbound locator.
    public MediaTransmitter(MediaLocator locator) {
        mediaLocator = locator;
     * Starts transmitting the media.
    public void startTransmitting() throws IOException {
        // start the processor
        mediaProcessor.start();
        // open and start the data sink
        dataSink.open();
        dataSink.start();
     * Stops transmitting the media.
    public void stopTransmitting() throws IOException {
        // stop and close the data sink
        dataSink.stop();
        dataSink.close();
        // stop and close the processor
        mediaProcessor.stop();
        mediaProcessor.close();
     * Sets the data source.  This is where the transmitter will get the media
     * to transmit.
    public void setDataSource(DataSource ds) throws IOException,
        NoProcessorException, CannotRealizeException, NoDataSinkException {
        /* Create the realized processor.  By calling the
           createRealizedProcessor() method on the manager, we are guaranteed
           that the processor is both configured and realized already. 
           For this reason, this method will block until both of these
           conditions are true.  In general, the processor is responsible
           for reading the file from a file and converting it to
           an RTP stream.
        mediaProcessor = Manager.createRealizedProcessor(
            new ProcessorModel(ds, FORMATS, CONTENT_DESCRIPTOR));
        /* Create the data sink.  The data sink is used to do the actual work
           of broadcasting the RTP data over a network.
        dataSink = Manager.createDataSink(mediaProcessor.getDataOutput(),
                                          mediaLocator);
     * Prints a usage message to System.out for how to use this class
     * through the command line.
    public static void printUsage() {
        System.out.println("Usage: java MediaTransmitter mediaLocator " +
                           "mediaFile");
        System.out.println("  example: java MediaTransmitter " +
            "rtp://192.168.1.72:49150/audio mysong.mp3");
        System.out.println("  example: java MediaTransmitter " +
            "rtp://192.168.1.255:49150/audio mysong.mp3");
     * Allows the user to run the class through the command line.
     * Only two arguments are allowed; these are the output media
     * locator and the mp3 audio file which will be broadcast
     * in the order.
    public static void main(String[] args) {
        try {
            if (args.length == 2) {
                MediaLocator locator = new MediaLocator(args[0]);
                MediaTransmitter transmitter = new MediaTransmitter(locator);
                System.out.println("-> Created media locator: '" +
                                   locator + "'");
                /* Creates and uses a file reference for the audio file,
                   if a url or any other reference is desired, then this
                   line needs to change.
                File mediaFile = new File(args[1]);
                DataSource source = Manager.createDataSource(
                    new MediaLocator(mediaFile.toURL()));
                System.out.println("-> Created data source: '" +
                                   mediaFile.getAbsolutePath() + "'");
                // set the data source.
                transmitter.setDataSource(source);
                System.out.println("-> Set the data source on the transmitter");
                // start transmitting the file over the network.
                transmitter.startTransmitting();
                System.out.println("-> Transmitting...");
                System.out.println("   Press the Enter key to exit");
                // wait for the user to press Enter to proceed and exit.
                System.in.read();
                System.out.println("-> Exiting");
                transmitter.stopTransmitting();
            } else {
                printUsage();
        } catch (Throwable t) {
            t.printStackTrace();
        System.exit(0);

Okay, here's the it copied out.
Media Transmitter
C:\John\Masters Project\Java\jmf1\MediaPlayer>java MediaTransmitter rtp://127.0.
0.1:2000/audio it-came-upon.mp3
-> Created media locator: 'rtp://127.0.0.1:2000/audio'
-> Created data source: 'C:\John\Masters Project\Java\jmf1\MediaPlayer\it-came-u
pon.mp3'
streams is [Lcom.sun.media.multiplexer.RawBufferMux$RawBufferSourceStream;@1decd
ec : 1
sink: setOutputLocator rtp://127.0.0.1:2000/audio
-> Set the data source on the transmitter
-> Transmitting...
   Press the Enter key to exit
MediaPlayerFrame
C:\John\Masters Project\Java\jmf1\MediaPlayer>java MediaPlayerFrame rtp://127.0.
0.1:2000/audio
MediaPlayerFrame
setMediaLocator: rtp://127.0.0.1:2000/audioAs I said, it just kinda stops there, what it should be doing is opening the MediaPlayer.
"MediaPlayerFrame" and "setMediaLocator: rtp://127.0.0.1:2000/audio" are just print outs I used to track here the code is getting to.

Similar Messages

  • Problem with using an audio extra

    Hello all:
    I tried to play an extra sound in director mx 2004 ,when I
    play it it send me back this error dialog box:
    Script error:Handler not defined
    axStopRectangle
    #axStopRectangle
    When I click on script button ,it the following handler:
    on stopMovie
    --do not let the recorder opened, no matter how we have
    stopped
    axStopRecording()
    axCloseRecorder()
    --and clear the soundList
    clearSoundList()
    --and reset our wave preview picture
    member("wave_preview").image =
    member("wave_preview_empty").image
    end
    ***************************************]*********************88
    Thank you very much for your attention
    Sincerely yours Mohsena

    Most xtras require a sequence of commands to start them up,
    instantiate,
    before you can call a function or command that belongs to the
    xtra.
    Exactly how you do that should be in the documentation for
    the xtra.
    The process generally runs something like this:
    on someFunction
    -- place an instance of the xtra in a new variable...
    thisXtraInstance = xtra("yourXtraName").new()
    -- call the function or command that you want to use
    functionResult = thisXtraInstance.functionName(arguments)
    -- throw out the xtra instance...
    thisXtraInstance = 0
    end
    When you create a projector, that projector needs to use the
    runtime
    versions of each xtra that's used in the movie. You can have
    Director
    include the xtras inside the projector by selecting them from
    the
    Modify... Movie... Xtras... menu item. Alternately, you can
    create a
    folder and name it "Xtras". Then place a copy of each needed
    xtra into
    that folder.
    You can find out more about using xtras in the Director
    documentation.
    Rob
    Rob Dillon
    Adobe Community Expert
    http://www.ddg-designs.com
    412-243-9119
    http://www.macromedia.com/software/trial/

  • I have two Iphones with different email addresses sharing one Apple ID. Will that cause problems with using messaging and FaceTime?

    I have two Iphones 5 with different email addresses sharing one Apple ID account.Both are using IOS 8.
    I would like to set up a new Apple Id for one of the phones and remove it from the old account.
    If I do that, can I move all of the purchased apps and songs to the new Apple account?
    Also, will sharing one Apple ID account with two devices cause problems with using messaging and FaceTime?

    Sharing an iCloud account between two devices can be done without causing issues with iMessage and FaceTime, just go into Settings for each of these functions and designate separate points of contact (i.e. phone number only, or phone number and unique email address).  While that works, you'll then face the problem where a phone call to one iPhone will ring both if on the same Wi-Fi network -- but again, that can be avoided by changing each phone's settings.
    Rather than do all that, don't fight it -- use separate IDs for iCloud.  You can still use a common ID for iTunes purchases (the ID for purchases and iCloud do not have to be the same) or you can use Family Sharing to share purchases from a primary Apple account.

  • I have a problem with using MacBook Pro as wifi router when connected to ethernet

    I have a problem with using MacBook Pro as wifi router when connected to ethernet. The Airport icon changes to show a laptop inside, my iPad shows connected (I think) but Safari will not operate. I tried pinging my iPad, it seems to see the iPad, but no connection to Safari or to other apps such as Good on the iPad. I have read many posting and tried repeatedly via Sharing in Systems Preferences, but no luck. Suggestions to fix, or is this a Lion problem?

    Usually this is a problem related to the domain name server address. If you open Network preferences, select your Ethernet port then click on the Advanced button then on the DNS tab. You will likely see an entry like 10.0.1.1 already listed. Click on the Add [-] button and enter 208.67.222.222 then click on the OK button and then on the Apply button.  See if this helps.
    if it does not help then repeat the above but with the Airport port.

  • I am going to buy unlocked iphone 5.. i will be going to india nxt months and will stay there for a while... so my question is will i get warrenty in india.. and will there be any problem with using indian sims..?? thnx for the help..

    i am going to buy unlocked iphone 5.. i will be going to india nxt months and will stay there for a while... so my question is will i get warrenty in india.. and will there be any problem with using indian sims..?? thnx for the help..

    The warranty for the iPhone is not and has never been International.
    Warranty and support are ONLY valid in the country of origin.  The only exception is the EU where the entire EU is treated as one country.
    If the device will be used in India, buy it in India.
    An unlocked iPhone will work on any supported GSM carrier world wide.  The LTE portion of a US purchased, unlocked iPhone is unlikely to work outside North America as it does not support the appropriate bands used in other countries.

  • I purchased Adobe Creative Suite C2 and have been using it for years on the same computer no problem with using it. Recently upon opening Photoshop I received a pop up window saying due to Adobe Software security we need you to activate your CS2 software.

    I purchased Adobe Creative Suite C2 and have been using it for years on the same computer without any problems with using it. Recently upon opening Photoshop I received a pop up window saying due to Adobe Software security we need you to activate your CS2 software. I tried, phone activation, web activation, nothing is working. I have the serial number and my Adobe account information. Any suggestions?

    Error: Activation Server Unavailable | CS2, Acrobat 7, Audition 3
    Mylenium

  • Problem with use of COM+ Transaction and DB Transaction

    Problem with use of COM+ Transaction and DB Transaction
    We build a Web site that use sometime COM+ Transaction and sometime DB
    Transaction. If we use a COM+ Transaction and a few seconds later we try to use
    a Database Transaction (OracleConnection.BeginTransaction), we get the error
    Connection is already part of a local or a distributed transaction
    Of course the error does not produce everytime; it takes some try before we get
    the problem. And of course, if i use pooling=false on the connection string,
    the problem does not appear.
    i run the Web page
    and push the COM+ Transaction and DB Transaction one after the other for some
    times and the problem should appear.
    Environment: Windows server 2003, .Net Framework 1.1, ODP.Net 9.2.0.401,
    Database Server 9.2.0.4

    > Why in form builder can't I...
    Is this happening at runtime or at buildtime? You'll need to provide more info on what you are actually doing that's causing the problem.
    Regards,
    Robin Zimmermann
    Forms Product Management

  • Problems with use cases in JDeveloper 11.1.1.1.0

    Use cases made with JDeveloper 11.1.1.0.2 can not be used and edited in JDeveloper 11.1.1.1.0.
    Same problems with Use Case Diagrams.
    And it seems to be impossible to create new use cases in JDeveloper 11.1.1.1.0.
    What are the differences between 11.1.1.0.2 and 11.1.1.1.0 if you look at use cases??

    In JDeveloper 11.1.1.0.2 each use case has one file with the folllowing name: *.xhtml_usc.
    In JDeveloper 11.1.1.1.0 each use case has two files with a names like *.xhtml_usc and *.uml_usc (after standard migration with JDeveloper). I can still edit the *.xhtml_usc files, but I have no idea what to do with the *.uml_usc files. I can only open a Property-editor, but the properties I see have no relation with the text I used in my original use cases . New use cases only have a *.uml_usc file and a Property-editor. In javadoc the new use case does not appear.
    My question is: why do I have two different use case files in JDeveloper 11.1.1.0 and how can I use the Property editor??

  • AxWindowsMediaPlayer problem with using subtitle sami.file in winform

    Hello every body
    I have a problem with using sami caption in axWindowsMediaPlayer;
    how can I use it?
    I used
    axWindowsMediaPlayer1.closedCaption.SAMIFileName="FileNameAddress";
    and
    axWindowsMediaPlayer1.ShowPropertyPages();//and select sami file
    but in both ways the subtitle is not shown in my axWindowsMediaPlayer1 control;
    please help me for solving this problem

    Hi ,
    As i know the Synchronized Accessible Media Interchange (SAMI) file must use an .smi or .sami file name extension.
    set the smi-file direclty like following
    AxWindowsMediaPlayer.closedCaption.SAMIFileName = "subtitles.smi";
    Please also refer here
    for more details.
    Follow the steps below for your Windows Media Player to display captions and subtitles.
    http://support.3playmedia.com/entries/21934486-windows-media-files-windows-media-player-settings
    Related thread, please note the Style secttion.
    http://answers.microsoft.com/en-us/windows/forum/windows_7-pictures/wmp-12-doesnt-play-sami-files-closed-captions/96fe98b7-1cdf-41f5-aa9e-a4e55fd07c0a
    In addition, Could you please provide your smi or sami file and full code? It could be better to help us do some test on my side.
    Have a nice day!
    Kristin
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • I am having problem with using the Basic brush definition

    I am having problem with using the Basic brush definition. When I try to click on it will not allow me to use it and will automatically use the 5 pt. oval brush definition. The only way I can use the basic brush is after I have already drawn something and then I have to click on the stroke and then press basic. This is incredibly annoying and if anyone could help I would greatly appreciate it. (I have Adobe CS6)

    for whatever reason, the basic 'brush' you see in the brushes palette effectively means removing any brush from a path. to draw with the brush tool you need a brush defined. in your case the last one selected being the 5 pt oval one.

  • I am having problem with using my Basic brush definition

    I am having problem with using the Basic brush definition. When I try to click on it will not allow me to use it and will automatically use the 5 pt. oval brush definition. The only way I can use the basic brush is after I have already drawn something and then I have to click on the stroke and then press basic. This is incredibly annoying and if anyone could help I would greatly appreciate it. (I have Adobe CS6)

    Basic is not a brush, only a starting point for you to make a brush. Load the real brush you want before beginning to draw.

  • In FF4.0.1 problem with using HTML creator in WebCT. WHY? Not a problem in FF4.0.0

    In FF4.0.1 problem with using HTML creator in WebCT. WHY? Not a problem in FF4.0.0

    Hi Shane,
    I passed through all the described problems in the list, and after doing several tests the error that you described is always present if the "jpcsclite_en_US.properties" is not present in the same place of the "jpcsclite.properties". I really don't know the reason, I just copied and pasted the same file, renamed the copy and the error was gone... though both of them include the line where the .dll is found!
    That's how it worked for me, but if anybody knows how it works without that dirty trick, it would be good.
    Regards,
    Leandro
    PS: Just in case that somebody is using the version JCSDK3.0, I did not find the .dll in that version, but in the JCSDK2.2.2 *(:-S)*

  • After installing Snow Leopard problems with using any of my Helvetica fonts

    I've never really have a problem with any of apple's products until now.
    After installing Snow Leopard I've found problems with using any of my Helvetica fonts,
    which is a BIG problem if you work in DTP or print. You CAN'T remove the system version of Helvetica, and replace it with your own anymore.
    Also Flash CS4 seems to be a dead duck, as after about 5-6 seconds of loading the program it crashes with a "KERNPROTECTIONFAILURE".
    <title edited by host>

    Thanks Tom but the original post title was "Work in DTP, don't install snow leopard", but of course apple were unhappy with the title. I know the issue/problem has been discussed for months, the real problem is that it shouldn't be a problem which everyone has to find work arounds for.
    After 4 days of playing about, I've finally got flash CS4 working and Quarkxpress was also a big problem for a few months. Printer description (PPD) files which snow leopard doesn't like, but worked in tiger & leopard.....means I can't use my two A3 inkjets for proofing anymore.
    I'm just disappointed by snow leopard

  • Problem with mirroring iPhone 4s over Apple Universal Dock

    I have problems with mirroring my 4s over the Universal Dock.
    Playing videos is fine, but the mirroring only works when i connect the iPhone directly.
    Have anyone other experiences with compatibility?

    I thought that, but I have already been down that route and the new sim behaves in the same way!
    phone seems to work fine with the Vodafone sim!  But has issues with the O2 sim.

  • I have a problem with using (hotmail)

    i have a problem with using (hotmail) , that when i try to use messenger through it , that shown many of pages can not be open , and my contacts are not available , when i contact with Windows Live team to solve the problem they inform me that the problem is with my browser , so i have to ask them about it , and i use Mozilla Firefox 8.0 , so kindly help me to solve this issue

    That is a problem with Silverlight
    On a Mac, Firefox 4 is a 64 bit application.<br />
    Not all plugins support 64 bit and if not then you need to start Firefox in 32 bit mode to use that plugin.
    # Close Firefox
    # Start the Finder and open the Applications folder
    # Right click or control-click the Firefox.app icon
    # Select "Get Info"
    # Select or Deselect "Open in 32-bit mode"
    # Close the "Firefox Info" window
    # Restart Firefox

Maybe you are looking for

  • USER NAME PROBLEM

    On Sunday February 24th 2013 I purchased your Adobe Photoshop Elements 11 from Domayne.  On Monday I contacted your "Help" line to ask why the program would not allow me to chose a User Name.  I was told that the "Experts" were looking at it and woul

  • My mac starts up in os x utilities, even when I restart.. What do I do!!

    every time I start up my iMac, it just goes into OS X utilities. Even when I restart and reboot the computer it still starts up in OS X utilities how do I fix it or how do I get out of OS X utilities

  • Userexit for SO Create/Change.

    Hi, Please tell me the userexit for the Sales Order Create/Chagne

  • 1132 MFP Network Scanner via USB

    How do I access the Laserjet M1132 MFP 'scanner function'  connected to a print server via USB? The printer can be accessed thru the network, though.

  • Transferring 12 yr old camcorder tape to IMac...

    I just found out IMovie allows me to transfer tape-based camcorder tapes to dvd! But my 12 yr old Sony camcorder doesn't have a usb port/cord, just the red/white/yellow and S-video cords, which don't plug into my new IMac's usb ports. Anyone know wha