How to play mp3 from server in Java ME
The method below demonstrates how to use Java ME to play a mp3 file that is stored in a remote server.
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 Series 40 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.