...
> 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.

Signature
Andrew Thompson
http://www.athompson.info/andrew/
> import javax.media.Manager;
>
[quoted text clipped - 14 lines]
> 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.
Lew - 14 Apr 2007 15:52 GMT
>> import javax.media.Manager;
>>
[quoted text clipped - 33 lines]
>
> (String)new String(new String((String)((String)"foo").toString()))
Furthermore, URLs take forward slashes, not backslashes.

Signature
Lew
Daniel Gee - 15 Apr 2007 09:01 GMT
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.
Lew - 15 Apr 2007 09:12 GMT
> 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.

Signature
Lew