×
Namespaces

Variants
Actions

How to play mp3 from server in Java ME

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Article
Created: wang_shui (20 Mar 2007)
Last edited: lpvalente (22 Feb 2014)

The method below demonstrates how to use Java ME to play a mp3 file that is stored in a remote server.

public void playAudio()
{
try
{
String url = "http://server/audio.mp3";
HttpConnection conn = (HttpConnection)Connector.open(url,
Connector.READ_WRITE);
InputStream is = conn.openInputStream();
player = Manager.createPlayer(is,"audio/amr");
 
player.realize();
// get volume control for player and set volume to max
vc = (VolumeControl) player.getControl("VolumeControl");
if(vc != null)
{
vc.setLevel(100);
}
player.prefetch();
player.start();
}
catch(Exception e)
{}
}

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.

This page was last modified on 22 February 2014, at 20:44.
113 page views in the last 30 days.