what the problem about this short code?

Discussion in 'Java' started by dolphin, Apr 14, 2007.

  1. dolphin

    dolphin Guest

    import javax.media.Manager;

    import javax.media.bean.playerbean.MediaPlayer;
    import java.lang.String;


    public class Player1 {
    MediaPlayer mp1 = new MediaPlayer();
    public Player1(){
    mp1.setMediaLocation(new String("file:\\d:\\music\\11.wma"));
    }
    public static void main(String[] args){
    Player1 player1=new Player1();
    player1.mp1.start();
    }
    }

    it says that Cannot find a Player for :file:\d:\music\11.wma.what the
    problem?
     
    dolphin, Apr 14, 2007
    #1
    1. Advertising

  2. dolphin wrote:
    ...
    > mp1.setMediaLocation(new String("file:\\d:\\music\\11.wma"));

    ...
    >it says that Cannot find a Player for :file:\d:\music\11.wma.what the
    >problem?


    MediaPlayer is based on JMF*, which only supports
    the formats listed here.
    <http://java.sun.com/products/java-media/jmf/2.1.1/formats.html>
    WMA is not listed, WMA is not supported.

    * JMF has been effectively abondoned by Sun, there may
    be other projects that 'plug-in' to JMF and provide support
    for newer/more formats - you'd need to search.

    --
    Andrew Thompson
    http://www.athompson.info/andrew/

    Message posted via http://www.javakb.com
     
    Andrew Thompson, Apr 14, 2007
    #2
    1. Advertising

  3. dolphin writes:

    > import javax.media.Manager;
    >
    > import javax.media.bean.playerbean.MediaPlayer;
    > import java.lang.String;
    >
    >
    > public class Player1 {
    > MediaPlayer mp1 = new MediaPlayer();
    > public Player1(){
    > mp1.setMediaLocation(new String("file:\\d:\\music\\11.wma"));
    > }
    > public static void main(String[] args){
    > Player1 player1=new Player1();
    > player1.mp1.start();
    > }
    > }
    >
    > it says that Cannot find a Player for :file:\d:\music\11.wma.what
    > the problem?


    I don't know about media players, but I have a couple of suggestions.

    First, importing any java.lang.* class is redundant in a bad way: it
    doesn't affect the meaning of the program, but it leaves a reader of
    the code looking for an explanation.

    Second, never write

    new String("foo")

    for any literal "foo". Instead, write just

    "foo"

    and it will be a perfectly adequate String. Or if you are trying to
    appear paranoid, consider something like this:

    (String)new String(new String((String)((String)"foo").toString()))

    Well, just don't.

    Third, and this may actually help you, you can write an even simpler
    test program and so eliminate some possibilities of error:

    import javax.media.Manager;
    import javax.media.bean.playerbean.MediaPlayer;

    public class Player1 {
    public static void main(String[] args) {
    MediaPlayer mp1 = new MediaPlayer();
    mp1.setMediaLocation("file:\\d:\\music\\11.wma");
    mp1.start();
    }
    }

    Oh, and please, include the actual error message. Cut and paste, or
    otherwise copy it _exactly_. Any paraphrase is likely to distort it
    when you don't already know what the message means.
     
    Jussi Piitulainen, Apr 14, 2007
    #3
  4. dolphin

    Lew Guest

    Jussi Piitulainen wrote:
    > dolphin writes:
    >
    >> import javax.media.Manager;
    >>
    >> import javax.media.bean.playerbean.MediaPlayer;
    >> import java.lang.String;
    >>
    >>
    >> public class Player1 {
    >> MediaPlayer mp1 = new MediaPlayer();
    >> public Player1(){
    >> mp1.setMediaLocation(new String("file:\\d:\\music\\11.wma"));
    >> }
    >> public static void main(String[] args){
    >> Player1 player1=new Player1();
    >> player1.mp1.start();
    >> }
    >> }
    >>
    >> it says that Cannot find a Player for :file:\d:\music\11.wma.what
    >> the problem?

    >
    > I don't know about media players, but I have a couple of suggestions.
    >
    > First, importing any java.lang.* class is redundant in a bad way: it
    > doesn't affect the meaning of the program, but it leaves a reader of
    > the code looking for an explanation.
    >
    > Second, never write
    >
    > new String("foo")
    >
    > for any literal "foo". Instead, write just
    >
    > "foo"
    >
    > and it will be a perfectly adequate String. Or if you are trying to
    > appear paranoid, consider something like this:
    >
    > (String)new String(new String((String)((String)"foo").toString()))


    Furthermore, URLs take forward slashes, not backslashes.

    --
    Lew
     
    Lew, Apr 14, 2007
    #4
  5. dolphin

    Daniel Gee Guest

    They take both forward and back if you're on windows, Which you almost
    definitely are if your path has a drive letter in it.
     
    Daniel Gee, Apr 15, 2007
    #5
  6. dolphin

    Lew Guest

    Daniel Gee wrote:
    > They take both forward and back if you're on windows, Which you almost
    > definitely are if your path has a drive letter in it.


    So you are abandoning the "Universal" part of "Univeral Resource Locator" to
    be Windows-specific.

    By putting the "file:" protocol lead in the string, one is signaling that one
    is using a URL, which requires forward slashes, according to RFC 1738.

    > Some URL schemes (such as the ftp, http, and file schemes) contain names that can be considered hierarchical; the components of the hierarchy are separated by "/".


    Windows's sloppiness doesn't excuse programmer sloppiness.

    --
    Lew
     
    Lew, Apr 15, 2007
    #6
  7. dolphin

    papagiraffe

    Joined:
    Jun 27, 2008
    Messages:
    2
    change this
    mp1.setMediaLocation(new String("file:\\d:\\music\\11.wma"));
    to this
    mp1.setMediaLocation(new String("file:///D:/music/11.wma"));

    Have FUN!
     
    papagiraffe, Jun 27, 2008
    #7
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Oliver Wong
    Replies:
    5
    Views:
    447
    Oliver Wong
    Nov 2, 2005
  2. David Geering

    longs, long longs, short short long ints . . . huh?!

    David Geering, Jan 8, 2007, in forum: C Programming
    Replies:
    15
    Views:
    565
    Keith Thompson
    Jan 11, 2007
  3. Replies:
    4
    Views:
    831
    Kaz Kylheku
    Oct 17, 2006
  4. Ioannis Vranos

    unsigned short, short literals

    Ioannis Vranos, Mar 4, 2008, in forum: C Programming
    Replies:
    5
    Views:
    684
    Eric Sosman
    Mar 5, 2008
  5. Andre
    Replies:
    5
    Views:
    542
    Keith Thompson
    Jul 17, 2012
Loading...

Share This Page