0

我正在使用这段代码通过我的应用程序播放歌曲,

private void playSong(final String song_Name) {
        try {

    p = Manager.createPlayer(Utils.getInstance().getStorageLocation()+song_Name);
            System.out.println("this line executes here 1");
            p.addPlayerListener(NewPlayerScreen.this);
            p.prefetch();
            p.realize();
            p.start();
            time = p.getDuration();
            progressTime = (int) (time/1000);
            seconds =  (int) (progressTime / 1000) % 60 ;
            minutes =  (int) ((progressTime / (1000*60)) % 60);
            _lblTime.setText(" 00:00 "+"/"+minutes+":"+seconds);
            progressBar=new GaugeField(null,0,progressTime,0,GaugeField.NO_TEXT|GaugeField.FIELD_HCENTER){
                protected void layout(int width,int height){
                   setExtent(Display.getWidth()*2/3,20);
                }
            };
            progressBar.setMargin(20, PADDING, 20, PADDING);
            timer=new Timer();
            timer.schedule(new RemindTask(),1000,1000);         
        } catch (Exception e) {
            System.out.println("Exception in Play song "+e);

            UiApplication.getUiApplication().invokeLater(new Runnable() {

                public void run() {
                    Dialog.alert("Error");  
                }
            });
        }

    }

此代码工作正常,我可以播放保存在 SD 卡上的歌曲。同时按下我的应用程序中包含的下一首歌曲按钮。我再次调用此方法。它播放得很好,突然使文件系统资源不足。因为,我已将调试歌曲正确放置在 sd 卡上,并且创建播放器方法中给出的路径也准确。请告诉我我在哪里做错了。

4

0 回答 0