Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > what the problem about this short code?

Reply
Thread Tools

what the problem about this short code?

 
 
dolphin
Guest
Posts: n/a
 
      04-14-2007
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?

 
Reply With Quote
 
 
 
 
Andrew Thompson
Guest
Posts: n/a
 
      04-14-2007
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

 
Reply With Quote
 
 
 
 
Jussi Piitulainen
Guest
Posts: n/a
 
      04-14-2007
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.
 
Reply With Quote
 
Lew
Guest
Posts: n/a
 
      04-14-2007
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
 
Reply With Quote
 
Daniel Gee
Guest
Posts: n/a
 
      04-15-2007
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.

 
Reply With Quote
 
Lew
Guest
Posts: n/a
 
      04-15-2007
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
 
Reply With Quote
 
papagiraffe papagiraffe is offline
Junior Member
Join Date: Jun 2008
Posts: 2
 
      06-27-2008
change this
mp1.setMediaLocation(new String("file:\\d:\\music\\11.wma"));
to this
mp1.setMediaLocation(new String("file:///D:/music/11.wma"));

Have FUN!
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Difference of extern short *x and extern short x[]? Andre C Programming 5 07-17-2012 07:38 PM
unsigned short, short literals Ioannis Vranos C Programming 5 03-05-2008 01:25 AM
longs, long longs, short short long ints . . . huh?! David Geering C Programming 15 01-11-2007 09:39 PM
unsigned short short? slougheed@gmail.com C++ 4 10-16-2006 11:25 PM
short cut problem Locutus Computer Support 2 12-08-2004 03:15 AM



Advertisments