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