Avatar billede mikkel_breum Nybegynder
03. december 2000 - 14:43 Der er 6 kommentarer og
1 løsning

Hvilkte lydformater kan afspilles via java?

Jeg har lavet en lille applet (efter en java begynder bog), som viser en billede og looper et lydklip. Men jeg får følgende fejl når jeg vil afvikle min applet:

NativeAudioStream: invalid sample rate of 44100.
Got IOException fetching sound: sun.audio.InvalidAudioFormatException: InvalidAudioFormatException
sun.audio.InvalidAudioFormatException: InvalidAudioFormatException
at sun.audio.NativeAudioStream.<init>(NativeAudioStream.java)
at com.apple.mrj.JManager.ULAWAudioBuffer.run(JMAppletAudioClipOld.java)
at java.lang.Thread.run(Thread.java)

Jeg har forsøgt alle mulige formater til min lyd fil (diverse sample rates, PCM eller ULAW compression, .au eller .aif,  mono eller stereo, men den vil ikke acceptere formatet.)

her følger source koden:

// IMGSound
//
// Description:
//    ImgSound is an applet that diplays an image and plays a sound
//    when the applet starts.


import java.awt.*;
import java.applet.*;
import java.net.*;

public class ImgSound extends java.applet.Applet
{
    // URLs
    private String img_url = null;
    private String sound_url = null;
   
    // Panels and canvases that the applet uses
    Canvas c_north = null;
   
    // Images that the applet uses
    Image img_1 = null;
   
    // Sounds that the applet uses
    AudioClip sound_clip = null;
   
    // The background color
    Color bkgnd;
   
    public void init()
    {
        // Set up the display
        setLayout(new BorderLayout());
        bkgnd = new Color(255,255,255);    // White
        setBackground(bkgnd);
        c_north = new Canvas();
        add (\"North\", c_north);
       
        // Read the parameters from the HTML document
        img_url = getParameter(\"picture-url\");
        sound_url = getParameter(\"sound-url\");
       
        // Load image and sound clip
        MediaTracker tracker = new MediaTracker(this);
        img_1 = getImage(getCodeBase(), img_url);
        tracker.addImage(img_1, 0);
        try
        { tracker.waitForID(0); }
        catch (InterruptedException e)
        { System.out.println(\"Image Load Failure\"); }
       
        sound_clip = getAudioClip(getCodeBase(), sound_url);
       
    }
       
        public void start()
        {
            // Play the sound over and over
            sound_clip.loop();
        }
       
        public void stop()
        {
        // Quiet
        sound_clip.stop();
        }
       
        public void paint(Graphics g)
        {
            if (img_1 != null)
            {
                g.drawImage(img_1, 0, 0, getBackground(), c_north);
            }
        }
       
        public boolean keyDown(Event evt, int key)
        {
        // Quiet
        sound_clip.stop();
        return true;
        }
}
Avatar billede jakoba Nybegynder
03. december 2000 - 14:59 #1
For mig er det lykkedes med .au og .wav filer. Og jeg kan ikke se noget galt i det du gør.
Dine fejlmeddelelser er lovlig gode til at det kan være Installationsfejl.
Javaversion? en sample-rate på 44100 er ikke gevaldig meget nu, men det var højt for 4 år siden.
prøv at lave en .au med en samplerate på mellem 5000 og 15000 (hvad du nu kan vælge)
Avatar billede mikkel_breum Nybegynder
03. december 2000 - 15:45 #2
utroligt jeg kan få det til at virke helt nede i 8000 Hz, men det er jo ikke så fedt. er det bare betingelserne eller hvad? er der nogle som ved præcis hvilke formater java kan afspille og hvad men evt. skal gøre for at komme op i højere sample rates?
Avatar billede jakoba Nybegynder
03. december 2000 - 16:00 #3
Jeg vil tro senere versioner af java VM-en kan gå højere op. Men det er nok ikke det de fokusererer på, så jeg tør ikke love. Vent på et bedre svar.

mvh JakobA
Avatar billede jakoba Nybegynder
03. december 2000 - 16:34 #4
Avatar billede jakoba Nybegynder
03. december 2000 - 16:37 #5
som experten desværre parser forkert. brug cut&paste på hele linien.
Avatar billede mikkel_breum Nybegynder
04. december 2000 - 11:10 #6
Nå, nu ender det vist med t jeg selv kommer til at besvare mit eget spørgsmål :)
Hvis andre skulle være interesserede:

Prior to the advent of the Java 2 platform, the language handled only sound, in the form of µ-law AU files recorded in mono at an 8 kHz sampling rate.
The Java 2 platform adds support for AIFF, WAV and three types of MIDI formats. The supported MIDI formats are Type 0 MIDI, Type 1 MIDI, and RMF.

http://developer.java.sun.com/developer/technicalArticles/Media/JavaSoundAPI/
Avatar billede jakoba Nybegynder
04. december 2000 - 13:53 #7
Hmmm ?
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