我正在尝试在J2ME中创建一个音乐播放器应用程序。我想知道如何播放存储在存储卡和手机内存中的mp3文件。下面是我试图执行的代码( in else part )。它没有任何错误,但没有播放任何声音。
playButton.addClickListener(new ClickListener() {
public void onClick(Component arg0) {
try{
if(player.getState() == player.STARTED){
player.stop();
player_GUI.playButton.setText("play");
}
else{
player = Manager.createPlayer("file:///E/song1.mp3");
player_GUI.playButton.setText("pause");
player.realize();
player.prefetch();
player.start();
}
}
catch(Exception e){
CatchError.showError("click play ", e.getMessage());
}
}
});
答案 0 :(得分:3)
您不能直接访问Memorycard作为字符串参数。对于任何类型的内存访问,您需要使FileConnection.i给出以下代码。
Player p ;
FileConnection connection = (FileConnection) Connector.open("file:///M:/sampleVideo/file1.mpg");
// If you run on the simulator then it is memorycard and if it device then it is specific to that device
// FileConnection connection = (FileConnection) Connector.open("file:///memorycard/sampleVideo/6.mp4");
InputStream inStream = null;
inStream = connection.openInputStream();
try {
p = Manager.createPlayer(inStream, "video/mpg");
p.addPlayerListener(this);
p.realize();
首先你必须找到该设备的存储卡文件夹名称然后只有你硬编码为 E:。你可以使用Sun的无线工具包示例找到这个例子PDAPDemo将它安装在设备上并找到正确的文件夹名称。然后您就可以从存储卡播放媒体文件。