我正在尝试在Button Click上调用指定设备位置的音频(调用run()方法)。这是我的代码。
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();}
}
在run()方法中,我在第1点获取IOException,我试图设置音频文件的位置。但是当我尝试这个时:
{
_rControl.setRecordLocation("file:///system/samples/ringtones/recordTest1.amr");
}
我发现它可以使用9550模拟器但不能使用8900模拟器。那么我应该设置什么位置才能使用8900模拟器和8900黑莓设备?
答案 0 :(得分:1)
您应该使用:
javax.microedition.io.file.FileSystemRegistry.listRoots()
在运行代码的设备上获取可用的根文件系统。