このコードを使用して、アプリで曲を再生しています。
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カードに適切に配置しており、プレーヤー作成メソッドで指定されたパスも正確です。私が間違っているところを教えてください。