How to play mp3 from server in Java ME
The method below shows how an mp3 file can be played from a server in Java ME.
public void playAudio()
String url = "http://server/audio.mp3";
HttpConnection conn = (HttpConnection)Connector.open(url,
InputStream is = conn.openInputStream();
player = Manager.createPlayer(is,"audio/amr");
// get volume control for player and set volume to max
vc = (VolumeControl) player.getControl("VolumeControl");
if(vc != null)
Note for S40 Devices: - The Midlet is responsible to avoid/catch out_of_memory exceptions in case the mp3 file
to be downloaded exceeds the amount of free memory.
- A good practice to avoid these kind of problems may be to either:
- add the keyword <progressive_download: enable> as an attribute to the midlets jad or manifest file or - change the url for the file to be downloaded to the format:
resource://my_media_file.mp3?streamable=true In the case above this means: String url = "http://server/audio.mp3?streamable=true";
Applying one of the changes should result in streaming instead of first downloading the whole file and starting to play not before the complete file was downloaded.