Problemas em executar som com player.start();

Ola, pessoal!

Estou fazendo um dicionário em J2ME, e esta funcionando legal, mas no celular o áudio e executado apenas 7 vezes o áudio, após isso preciso reiniciar o aplicativo, e depois de 7 vezes ele não executa mais o áudio e tenho q reiniciar de novo.
Alguém sabe onde esta o erro?
Abaixo segue todo o código fonte para que testem, só vai precisar inserir um áudio na pasta src.


import java.io.IOException;
import java.io.InputStream;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.midlet.*;


public class DicMobile extends MIDlet implements CommandListener {
    
    public Display Display;
    public Form Fm_Principal;
    public TextField tf_Procurar;
    public ChoiceGroup cg_TipoTraducao;
    public StringItem si_Resultado, si_Procurado;
    public Command cm_Sair, cm_Traduzir, cm_Pronuncia;
    public Player player = null;
  
       
    public void startApp() {
    System.out.println("---> INICIOU A APLICAÇÃO <---");    
    Display = Display.getDisplay(this);
    Fm_Principal = new Form("DicMobile 1.0");
    cg_TipoTraducao = new ChoiceGroup("", ChoiceGroup.POPUP, new String []{"Inglês > Português", "Português > Inglês"}, null);
    tf_Procurar = new TextField("Procurar: ", "a",30,TextField.ANY);
    si_Resultado = new StringItem("", "...");
    si_Procurado = new StringItem("", "");
    cm_Sair = new Command("Sair", Command.BACK, 0);
    cm_Traduzir = new Command("Traduzir", Command.ITEM, 1);
    cm_Pronuncia = new Command("Pronuncia", Command.ITEM, 2);
    
    Fm_Principal.append(cg_TipoTraducao);
    Fm_Principal.append(tf_Procurar);
    Fm_Principal.append(si_Resultado); 
    Fm_Principal.addCommand(cm_Sair);
    Fm_Principal.addCommand(cm_Traduzir);
    Fm_Principal.addCommand(cm_Pronuncia);
       
    Display.setCurrent(Fm_Principal);
    Fm_Principal.setCommandListener(this);
    }
        
    public void pauseApp() {}
    
    public void destroyApp(boolean unconditional)
    {
        System.out.println("MIDlet Finalizada....");
    }
    
    public void commandAction(Command c, Displayable d)
     {
          if (c == cm_Sair) 
        {
            destroyApp(true);
            notifyDestroyed();             
        }
          
          if (c == cm_Pronuncia)
          {   
            InputStream tune = this.getClass().getResourceAsStream(tf_Procurar.getString() + ".mp3");
        try {
            player = Manager.createPlayer(tune, "audio/mpeg");              
            player.start();
            System.out.println("---> Som Executado <---");
            } 
        catch (IOException ex) {} 
        catch (MediaException ex) {}
          }               
        
        if (c == cm_Traduzir)       
        {
            InputStream is = getClass().getResourceAsStream(tf_Procurar.getString() + ".txt");
          byte[] b = new byte[1024];

        try {
            int length = is.read(b, 0, 1024);
            is.close();

        if (length > 0)
        {
        si_Resultado.setText(new String(b, 0, length));
        }
            }
        catch (IOException e) {}
        }   
            
    }
}