如何在J2ME中从存储卡中的文件播放.mp3歌曲

时间:2011-08-21 03:44:06

标签: java java-me audio-player

我正在尝试在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());
        }
 }
        });

1 个答案:

答案 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将它安装在设备上并找到正确的文件夹名称。然后您就可以从存储卡播放媒体文件。