Avatar billede tula Nybegynder
08. maj 2004 - 18:02

mp3player med fejl

Hej,

Jeg har lavet en klasse MP3Player, som gerne skulle afspille en mp3-fil på min harddisk. Jeg har installeret Java Media Framework, men alligevel får jeg nedenstående fejl, når jeg kompilerer:

"C:\Program Files\JBuilderX\jdk1.4\bin\javaw" -classpath "C:\Documents and Settings\René\jbproject\mp3player\classes;C:\Java\JMF2.1.1\lib\customizer.jar;C:\Java\JMF2.1.1\lib\jmf.jar;C:\Java\JMF2.1.1\lib\mediaplayer.jar;C:\Java\JMF2.1.1\lib\multiplayer.jar;C:\Java\JMF2.1.1\lib\sound.jar;C:\Program Files\JBuilderX\jdk1.4\demo\jfc\Java2D\Java2Demo.jar;C:\Program Files\JBuilderX\jdk1.4\demo\plugin\jfc\Java2D\Java2Demo.jar;C:\Program Files\JBuilderX\jdk1.4\jre\javaws\javaws.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\charsets.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\ext\dnsns.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\ext\ldapsec.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\ext\localedata.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\ext\sunjce_provider.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\im\indicim.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\im\thaiim.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\jce.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\jsse.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\plugin.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\rt.jar;C:\Program Files\JBuilderX\jdk1.4\jre\lib\sunrsasign.jar;C:\Program Files\JBuilderX\jdk1.4\lib\dt.jar;C:\Program Files\JBuilderX\jdk1.4\lib\htmlconverter.jar;C:\Program Files\JBuilderX\jdk1.4\lib\tools.jar"  mp3player.Start
Error: Unable to realize com.sun.media.amovie.AMController@1adc30

C:\Documents and Settings\René\jbproject\mp3player\heroes.mp3

file:/C:/Documents and Settings/René/jbproject/mp3player/heroes.mp3

Error value: 80070003


Hvad kan der være galt?

Her er min klasse:

package mp3player;

/**
*
* @author  Administrator
* @version
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
import javax.swing.event.*;
import java.io.*;
import java.net.*;
import javax.media.*;
import java.text.*;

public class MP3Player extends JComponent implements ControllerListener, ActionListener {

    //Player objektet der afspiller mediet
    //Timer objektet der giver et tidsinterval
        Player player = null;
        Timer timer = null;
        private String oldValuePlay, newValuePlay, oldValueListe, newValueListe;
        private int oldValueSlider, newValueSlider, oldValueTotal, newValueTotal;

    /** Creates new KamikazeePlayer */
    public MP3Player(){
        timer = new Timer(300,this);
        timer.start();
    }


    public void chooseMusic(){
            File music = new File("C:\\Documents and Settings\\René\\jbproject\\mp3player\\heroes.mp3");
            System.out.println(music.getAbsolutePath());

            play(music);
    }

    public void play(File f)
    {
        URL url;
        try{
            if(player != null)
            {
                player.stop();
                player.close();
            }
            url = f.toURL();
            System.out.println(url);
            player = Manager.createPlayer(f.toURL());
            if(player==null)
            JOptionPane.showMessageDialog(null, "Kan ikke afspille eller også er der en fejl filen");
            else{
                player.addControllerListener(this);
                player.start();
            }
        }
        catch(Exception e){
            JOptionPane.showMessageDialog(null, "Der er opstået en fejl!");
        }
    }

    public void play()
    {
        if(player != null){
            player.setMediaTime(new Time(0));
            player.start();
        }
    }

    public void stop()
    {
        if(player != null){
            player.setMediaTime(new Time(0));
            player.stop();
            tid(player.getMediaTime());
        }
    }

    public void pause(){
        if(player != null){
            player.stop();
        }
    }

    public void resume(){
        if(player != null){
            player.start();
        }
    }

    public void tid(Time tidSpillet){
        DecimalFormat twoDigits = new DecimalFormat("00");

        int min = (int) tidSpillet.getSeconds()/60;
        int sec = ((int) tidSpillet.getSeconds())%60;
        int t = (int) tidSpillet.getSeconds();

        Time total = getTotalTid();
        int minTotal = (int) total.getSeconds()/60;
        int secTotal = ((int) total.getSeconds())%60;
        String s = new String("(" + twoDigits.format(minTotal) + "." + twoDigits.format(secTotal) + ") "
                              + twoDigits.format(min) + "." + twoDigits.format(sec));

        /*oldValuePlay = newValuePlay;
        newValuePlay = s;
        firePropertyChange("TidSpil", oldValuePlay, newValuePlay);

        oldValueSlider = newValueSlider;
        newValueSlider = t;
        firePropertyChange("TidSlider", oldValueSlider, newValueSlider);*/
    }

    private Time getTotalTid()
    {
        if(player != null){
            Time total = player.getDuration();

            int minTotal = (int) total.getSeconds()/60;
            int secTotal = ((int) total.getSeconds())%60;

            return player.getDuration();
        }
        return new Time(0);
    }


    public void controllerUpdate(final ControllerEvent event)
    {
        if(player == null)
            return;
        else if(event instanceof RealizeCompleteEvent){
            Time total = getTotalTid();
            int t = (int) total.getSeconds();

                  /*oldValueTotal = newValueTotal;
            newValueTotal = t;
            firePropertyChange("TotalTid", oldValueTotal, newValueTotal);*/
        }
        else if(event instanceof EndOfMediaEvent)
            slut();
        else if(event instanceof ControllerErrorEvent)
            player = null;
    }

    public void slut(){
        player.stop();
        player.close();
      /* firePropertyChange("Frem", null, null);*/
    }


    public void stopTimer(){
        pause();
    }

    public void nySliderVærdi(int nyVærdi){
        resume();
        double ny = (double) nyVærdi;
        if(player != null){
            player.setMediaTime(new Time(ny));
            player.start();
        }
    }

    public void actionPerformed(ActionEvent evt)
    {
        if(evt.getSource() == timer)
        {
            if(player == null) return;
            if(player.getState() != Controller.Started) return;
            tid(player.getMediaTime());
        }
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester