Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Java Music Player - WinAmp Clone (Read 13875 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Java Music Player - WinAmp Clone

Just to let you know you could find a WinAmp clone for Java that supports MP3, OGG VORBIS, WAV, AU, AIFF audio format. jlGui is WinAmp skins 2.0 compliant. It's free and open source (LGPL).
http://www.javazoom.net/jlgui/sources.html

Java Music Player - WinAmp Clone

Reply #1
A cool idea. Good luck!

Java Music Player - WinAmp Clone

Reply #2
do you need some kind of java runtime libraries? because it does not work on my system

[edit] found the notice on your website:rolleyes:

Java Music Player - WinAmp Clone

Reply #3
Keep those Java apps comming and show MS what a waste their .NET crap will be!

Java Music Player - WinAmp Clone

Reply #4
Nice.  Last time I played with that it had the old name and no playlist. Sweet.

Java Music Player - WinAmp Clone

Reply #5
Thanks all !

We would like to add MOD support. Do you know any open JAVA library that implements MOD decoding ?

jlGui is based on JAVASOUND SPI API. So it's easy to add any audio format, we just have to develop the matching SPI (or "Sound Driver"). Until now we've done a MP3 SPI and a OGG Vorbis SPI. Does someone here know or develop some SPI ?

Eric.

Ps : Vorbis SPI project (LGPL) is available at : http://www.javazoom.net/vorbisspi/vorbisspi.html

Java Music Player - WinAmp Clone

Reply #6
Hmm, someone should definitely develope MPC and AAC SPIs also.
Juha Laaksonheimo

Java Music Player - WinAmp Clone

Reply #7
Very cool idea!  This is something I'd have liked to have done myself at some point, but I see someone beat me to it

I agree with JohnV, it'd be perfect if someone could port Frank's MPC decoder to java/spi, and maybe the same with FAAD.  It might be a bit of a difficult task (considering the language differences if nothing else), but it'd be truly great to have a cross platform player that supported all the major formats.

Java Music Player - WinAmp Clone

Reply #8
Could you deploy it next time using Java WebStart?

WebStart is the best thing Sun has ever done for Java GUI development...and it's platform-independent, as long as they have a 1.3.1+ JRE installed.

Java Music Player - WinAmp Clone

Reply #9
Sure, currently I'm working on to make it JavaWebStart compliant.
In addition to local skin loader, I've to add a remote skin loader. I also have to sign the code to get Read access on local file system.

I will let you know when it will run (and online) ... Planed to next week :-) The jnlp.xml is ready.

Eric.

Java Music Player - WinAmp Clone

Reply #10
Quick question: does the Playlist actually work? I loaded some files into it and double-clicked on some of them...but none of them would load into the player above and play...

The only way I could actually get something to play is use the "load file" button on the bottom of the player window (i.e. not the playlist).

Is that a bug or just the playlist is still work in progress?

One way or another, the playback was excellent and the user interface was very flashy. It loaded up quite quickly too...

When this is done you should announce it on javalobby.org, there are so, so few Java GUI apps that can really compete with native apps...


Java Music Player - WinAmp Clone

Reply #12
The playlist works but the double-click is not implemented yet.
You have to use "Next" "Previous" buttons from the main top window to move into the playlist. Then press "Play" to start playback.

I will post a new on JavaLobby.org now


Java Music Player - WinAmp Clone

Reply #14
This is great.
Since I'm learning Java at the moment, it would be cool to see how it's been done
\"The true method of knowledge is experiment.\" - William Blake

Java Music Player - WinAmp Clone

Reply #15
Thanks for Linux feedback, so you didn't have any problem ?
Are you using KDE or Gnome ?

And does someone can make a test under MacOS ?

Java Music Player - WinAmp Clone

Reply #16
Yeah! This is really cool! 

However, jlGui needs quite a lot computing power and memory for playing MP3's:

Quote
Benchs note : For MP3 playing, jlGui 2.0 takes around 20% of CPU time and 16MB of RAM under PIII 800Mhz + Win32 + JDK 1.3 (WinAmp takes only 1% of CPU time and 4 MB of RAM).


I'd like to know how much player needs power & memory for playing OGG's and how much code is optimized, or is it optimized at all? 
Could the player be made more efficent?

Also, Java 1.4 was released short time ago, do you plan to upgrade player code for it?

(BTW i love Metrix, it's one of my favourite Winamp skins) 

Java Music Player - WinAmp Clone

Reply #17
The Player works with Java 1.4 final release.
A few words about optimization :
Most part of the CPU time is lost in decoders (MP3 or OGG), however the OGG Vorbis decoder implementation (JOrbis) is faster than JavaLayer MP3 decoder ... and sure both decoder could be improved. A contributor has worked on MP3 decoder optimization in Java, here are results :

"before optimization:
cpu util -> 20% ~ 25% in stereo
-> 15% ~ 20% in mono
memory usage -> ~15meg(command line, no Swing)
jar size -> >200K

after optimization:
cpu util -> 6% ~ 11% in stereo
-> 2% ~ 7% in mono
memory usage -> ~4meg(command line, no Swing)
jar size -> 46K"

See URL below for more info :
http://www.javazoom.net/services/forums/vi...rent=-1&forum=7

So I'm sure the Vorbis decoder could be improved for Java.

Note : A new version of the Player is available in JavaWebStart version, it fixes a M3U support bug and Minimize features for Solaris.

Java Music Player - WinAmp Clone

Reply #18
Quote
Originally posted by JavaZOOM
The Player works with Java 1.4 final release.


Ok. I actually meant to ask that does Java 1.4 make it possible to add new features or does it give other benefits to player than which is possible with 1.3?


Quote
A few words about optimization :
Most part of the CPU time is lost in decoders (MP3 or OGG), however the OGG Vorbis decoder implementation (JOrbis) is faster than JavaLayer MP3 decoder ... and sure both decoder could be improved


Exxcellent 

Reason i was asking is that there is coming to markets mobile phones with J2ME support (Java 2 Micro Edition, info on available and coming phones: www.javamobiles.com ). Some of these Java-enabled phones have internal hardware mp3 players ( Siemens SL45i) or there is possibility to connect extrenal mp3 player(Ericsson T68 with HPM-10).

EDIT2: I made an mistake, Ericsson T68 does NOT support J2ME, sorry.

I was thinking that would it be possible to create Java-midlet Oggplayer which would share decoding load between hardware mp3-player and phones own processor, because i doubt that these phones have enough power or capabilities to play ogg's on their own. At now it isn't possible because there isn't available multimedia API which would give Java midlets access and control to mobiles sound resources or doesn't support more sophisticated features, but it's coming: http://jcp.org/jsr/detail/135.jsp

Also new multimedia smartphones like Nokia 7650 and Ericsson P800 (Other new Ericsson mobiles from Cebit link doesn't work on Opera 6.01 for some reason) don't have internal mp3 players but they have headphone-plugins and powerful processors (because of support for VGA color pictures, video & sound). It would be really, really cool to have mp3 & ogg players for these phones and because of their advanced multimedia capabilites, it might be possible.


[Geek mode]

Personally, i WANT Ericsson P800! It's über-geektoy with large 208 x 320 color touch-screen, digital camera, GPRS, webbrowser which supports wap, html, xhtml and i-mode, MMS (MultimediaMessageService, send videos, pictures and soundfiles), Bluetooth, Symbian OS 7.0 and works all round the world on GSM 900/1800/1900 networks! :insane:

More info here: http://www.sonyericsson.com/cebit/news_story.asp?id=34

All these funky features but no MP3 support!! (Maybe with extrenal player...). So all what i need is working Java-midlet impletation (if it is possible, probably not..) of MP3 & OGG-players, then i would buy this phone and be very happy man.  :listening

[/Geek mode]

(Phew! It took couple of hours to compose this message. But hey, i really wanted to bring this up.)

EDIT: I just realized that P800 doesn't have native flashcard support (neither does Nokia 7650) and it's inner memory probably isn't very large... Well, hopefully it supports external mp3-player like HPM-10 which uses MMC-cards (MultiMediaCard) as file storage. This would also be excellent way for storing Java games and applications.

Pretty good review of Ericsson HPM-10 mp3-player for Ericsson mobiles is available here:
http://www.howardchui.com/sections.php?op=...rticle&artid=36

Java Music Player - WinAmp Clone

Reply #19
JavaSound API has not been improved in JVM 1.4. It should be for 1.5. For instance, in Javasound 1.0, you can't pass extra parameters (BitRate, ID3 Tags ...) in AudioFormat. All workaround are ugly :-)

I totally agree with your J2EE plans but you have to know that you need INTEGER decoders (for both MP3 and OGG). It's possible but I don't know any implementation.

We have a 100% Java, fast MP3 decoder (only MPEG1 Layer3). It could be a starting point for INTERGER decoder.

This thread is really interesting, could you re-post it on the dedicated Java&MP3 forums ?
http://www.javazoom.net/services/forums/index.jsp

Eric.

Java Music Player - WinAmp Clone

Reply #20
Quote
Originally posted by JavaZOOM
JavaSound API has not been improved in JVM 1.4. It should be for 1.5. For instance, in Javasound 1.0, you can't pass extra parameters (BitRate, ID3 Tags ...) in AudioFormat. All workaround are ugly :-)


That means at least one year, or more before we get 1.5...

Quote
I totally agree with your J2EE plans but you have to know that you need INTEGER decoders (for both MP3 and OGG). It's possible but I don't know any implementation.

We have a 100% Java, fast MP3 decoder (only MPEG1 Layer3). It could be a starting point for INTERGER decoder.


EDIT: MAD decoder is 100% fixed-point (integer) computation, it's one of the decoders with one of the best (if not the best) output quality. And it's released under GPL2:
http://www.mars.org/home/rob/proj/mpeg/

Even better: It's been ported to Symbian's EPOC/ARM system!:
http://sourceforge.net/forum/forum.php?thr...&forum_id=38880

Here is Eckhart Köppen's page (related to Symbian EPOC/ARM link):
http://40hz.org/MADNewton/

EDIT3: Ok, MAD doesn't seem to have been ported to Symbian, it has been ported to Apple Newton which has ARM processor.

----

Integer (and realtime) based versions of OGG for ARM exist, more info on Jack Moffitt's post on Vorbis mailinglist:
http://www.xiph.org/archives/vorbis/1006.html

If link doesn't work, then same post can be found on here on thread Ogg finally coming from IRiver...

Also there's a newspost on frontpage of Ogg Vorbis on the PocketPC and link to executables and source for MIPS, ARM and SH3 at
http://www.dot9.ca/~cyanphase/pocketogg/

Quote
This thread is really interesting, could you re-post it on the dedicated Java&MP3 forums ?
http://www.javazoom.net/services/forums/index.jsp


I tried to post it with Opera 6.01, but server gave me errors. I re-posted it with Internet Explorer.

(Ughh, my first thought from start of registering was "This forum sucks!", because i couldn't change my registering details after registering.. then i couldn't view thread with answers at once, not even with IE by clicking Replies-link. And it doesn't have Preview which would have been useful with long post that i posted. Hopefully forum can be upgraded or you're going to change for something better, IMO it's way too simple  and doesn't work properly under Opera.)

EDIT4: Ok, Javazoom forums seem to be working again, at least links are fixed.

Java Music Player - WinAmp Clone

Reply #21
Ok, let's continue the thread here...

I've downloaded the JSR 135 docs. Something is not clear about new mobile phones. Regardless to OS and Java possiblities, do new mobiles could play high quality sounds (44Khz) ?

Java Music Player - WinAmp Clone

Reply #22
Quote
Originally posted by JavaZOOM
Ok, let's continue the thread here...


Thank you   

Hopefully we get other Java coders who read these forum regulary interested too.

Quote
"light&fast" version is an optimized version (CPU and Memory usage) of JavaLayer (100% JAVA MP3 decoder library) but it only supports MPEG1 Layer3 (not MPEG2).


Sounds good. MPEG2 support is not needed as nobody (except professionals) uses it and normal user doesn't even know about it.

MP3 support is needed for compatibility, OGG support is what i'm really aiming at as it has good quality/size ratio and its open source.

Quote
I've downloaded the JSR 135 docs. Something is not clear about new mobile phones. Regardless to OS and Java possiblities, do new mobiles could play high quality sounds (44Khz) ?


All phones which support MMS should be able to play full quality audio. That's because you can send and receive MP3 & WAV-audiofiles and MPEG4 videoclips on MMS messages. Nokia 7650 and Ericsson P800 support both MMS and J2ME. Also mobiles with internal or external MP3-players support full quality audio. Only GSM phone on the market with J2ME support and internal MP3-player is Siemens SL45i. I hope that when Ericsson P800 comes to market, it supports external mp3-player.

BTW, check this address for details on Siemens SL45i J2ME impletation. It's not necessarily 100% accurate, but it gives impression of how it works: http://www.javamobiles.com/siemens/sl45i/

Java Music Player - WinAmp Clone

Reply #23
There is an comment about sound support in MIDP at the KVM-INTEREST  mailing list (open mailinglist for MIDP developers).

Quote
Originally posted by Joseph Bowbeer
Paul Zazzarino <Paulzazzarino@AOL.COM> wrote:

>Can anyone direct me to methods of playing sounds on J2ME devices with Java. Looks like some devices support >MIDI but does J2ME/KVM have an interface to write out a MIDI file to a "speaker device"

MIDP barely supports sounds currently.

There are as many as 5 "canned" sounds, one for each AlarmType, that can be played using the playSound method:

  AlarmType.ERROR.playSound(display);

Some MIDP devices have fairly extensive sound support, provided through device-specific APIs.  J-Phone is a good example:

  http://www.jblend.com/ext/JSCL/en/index.html

-- Joe Bowbeer UIEvolution.Com


I recommend for joining to mailing list, there's lots of interesting discussions about MIDP-software development.

Java Music Player - WinAmp Clone

Reply #24
Nokia presented new mobile phones on Cebit, you can see them here:
http://www.nokia.com/phones/newproducts.html

Most of the new phones have Java, GPRS, polyphonic ringing tones (basicly MIDI synths) and limited MMS support (No video or audio, except MIDI files).

One of the new models is quite interesting:

Nokia 7210
http://www.nokia.com/phones/7210/index.html

Key features: Daring design, Xpress-on™ color covers, high-resolution color display, full display wallpaper, stereo FM radio, MMS (video support?), Java, polyphonic (MIDI) ringing tones, GPRS.

Operating frequency: GSM 900/1800/1900 networks worldwide

The high-resolution color screen supports 4096 colors within 128x128 pixels

Pop-Port™ Interface

"The Nokia 7210 phone is also the first Nokia phone with a Pop-Port™ interface connector. The Nokia Pop-Port™ connector will be a primary interface connector in future Nokia phones. It has been designed for the mobile environment and supports advanced functionalities, such as digital accessory identification, stereo audio[/u] or fast data connectivity. Pop-Port™ will significantly expand the choice of innovative and appealing accessories for Nokia 7210.

Nokia 7210 will be available on third quarter of 2002.

-----

I'd love to see and Java Ogg/Mp3 player for this phone. However, it might not be possible:

http://www.nokia.com/java/faq.html

Quote
How many applications can I store in my Nokia handset?
Nokia's mainstream phones such as Nokia 3410, Nokia 6310i and Nokia 7210 have 120 - 150 Kbytes memory for storing Java applications. Since the maximum size of downloadable Java applications is restricted to 30 Kbytes, the phone user can have up to  4 - 5 Java applications stored in the phone memory. If the downloaded applications are smaller, the phone user can store more of them. The Nokia 7650 users can store many more applications, since they can be stored in the same memory where the phone user stores e.g. their photos and MMS messages.


It would need real hardcore Java coding if somebody wants to fit decoder and player to that space...