Erro tentando usar código de MMAPI

6 respostas
P

Olá, eu peguei um código exemplo de um tutorial, o código é o seguinte:

import javax.microedition.midlet.MIDlet;
import javax.microedition.media.Player;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import java.io.IOException;

public class RodaWav extends MIDlet{
    
    /** Creates a new instance of RodaWav */
    public RodaWav() {
    }
    
    protected void destroyApp(boolean param) {
    }
    
    protected void pauseApp() {
    }
    
    protected void startApp() {
        try {
            Player player = Manager.createPlayer("http://localhost:8080/portal/bong.wav");
            player.start();
        } catch (MediaException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
}

Porém, quando tento executar pelo WTK2.2 ele me mostra a seguinte mensagem de erro

javax.microedition.media.MediaException: audio device
	at com.sun.mmedia.WavPlayer.doPrefetch(+56)
	at com.sun.mmedia.BasicPlayer.prefetch(+34)
	at com.sun.mmedia.BasicPlayer.start(+44)
	at RodaWav.startApp(+12)
	at javax.microedition.midlet.MIDletProxy.startApp(+7)
	at com.sun.midp.midlet.Scheduler.schedule(+270)
	at com.sun.midp.main.Main.runLocalClass(+28)
	at com.sun.midp.main.Main.main(+116)

Eu to começando meus estudos em MMAPI agora, alguém poderia me ajudar com este erro...

6 Respostas

C

Desculpe as perguntas retóricas… mas vc criou seu projeto com MMAPI?
Ou seja, na hora de criar vc deu check na opção adicional de JSRs da MMAPI?

Falow!

P

aham, criei, eu to achando que falat fazer alguma configuração no emulador, porque eu alterei o código para pegar um arquivo local e um arquivo que é usado pelo próprio WTK, ou seja, ele acha o arquivo e o arquivo é válido, ele só não consegue rodar… eu pensie nisso também, porque quando a gente tenta usar o pointerPressed a gente tem que mudar os properties do emulador para que funcione

T

após a chamada do createPlayer()
faça uma chamada aos métodos realize() e prefetch();
seu código ficaria assim:

try {   
            Player player = Manager.createPlayer("http://localhost:8080/portal/bong.wav");   
            player.realize();
            player.prefetch();
            player.start();   
        } catch (MediaException e) {   
            e.printStackTrace();   
        } catch (IOException e) {   
            e.printStackTrace();   
        }

espero que ajude, e que a ajuda não tenha vindo tarde demais :grin:

C

Você tem o tomcat iniciado com esse arquivo lá?

J

Esse post é de 2005 o.O

C

ehuaheuahuehuaheuahuehauheuahuehauheuahuehauheuaheuhauehuaheuhae

Nunca é tarde pra ajudar alguem !! heuahuehauheuaheuhauheae

Criado 26 de julho de 2005
Ultima resposta 28 de fev. de 2008
Respostas 6
Participantes 4