I am trying to save audio at a specified device location on Button Click (which invokes run() method). This is my code.
public Audio() {
}
public void run()
{
try{
try{
_player = Manager.createPlayer("capture://audio?encoding=audio/amr");
}
catch(MediaException e)
{
Dialog.alert(e.toString());
}
_player.realize();
_rControl =(RecordControl)_player.getControl("RecordControl");
try{
**//Point 1//**_rControl.setRecordLocation("file:///Device Memory/samples/ringtones/recordTest1.amr");
}
catch(MediaException e){e.printStackTrace();}
catch(IOException e){e.printStackTrace();}
_rControl.startRecord();
_player.start();
System.out.println("<<--Successful-->>>");
}
catch(Exception e){e.printStackTrace();}
}
public void stop()
{
try{
if(_rControl != null)
{
_rControl.stopRecord();
try{
_rControl.commit();
}catch(Exception e){e.printStackTrace();}
_rControl = null;
}
if(_player != null)
{
_player.close();
_player=null;
}
}catch(Exception e){e.printStackTrace();}
}
In run() method, i am getting IOException at Point 1 where i am trying to set location for audio file. But when I tried this:
{
_rControl.setRecordLocation("file:///system/samples/ringtones/recordTest1.amr");
}
i found it working with 9550 simulator but not with 8900 simulator. So what location should i set to make this working with 8900 simulator and also 8900 blackberry device?
You should use:
javax.microedition.io.file.FileSystemRegistry.listRoots()
to get available root file systems on the device running the code.