Adding Music/Sound to Java Programs

53,359
InputStream test = new FileInputStream("C:\\Music1.wmv");

Java Sound has no support for WMV & I've not heard of a Service Provider Interface that will support it. You'll need to convert the sound to an older file type.

Share:
53,359
JavaDude
Author by

JavaDude

Updated on November 19, 2020

Comments

  • JavaDude
    JavaDude over 3 years

    I'm making some mini java games and I was wondering how I can add sound/music to my programs. I watched a video on youtube and followed the code provided, however I get the following error: java.io.IOException: could not create audio stream from input stream

    I noticed that others have asked the same question with the same code but the answers were not helpful. Here is the code:

    import sun.audio.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.io.*;
    
    public class Project1 
    {
    public static void main(String[] args)
    {
        JFrame frame = new JFrame();
        frame.setSize(200,200);
        frame.setLocationRelativeTo(null);
        JButton button = new JButton("Click me");
        frame.add(button);
        button.addActionListener(new AL());
        frame.setVisible(true);
    }
        public static class AL implements ActionListener{
            public final void actionPerformed(ActionEvent e){
                music();
        }
    }
    
        public static void music() 
        {       
            AudioPlayer MGP = AudioPlayer.player;
            AudioStream BGM;
            AudioData MD;
    
            ContinuousAudioDataStream loop = null;
    
            try
            {
                InputStream test = new FileInputStream("C:\\Music1.wmv");
                BGM = new AudioStream(test);
                AudioPlayer.player.start(BGM);
                //MD = BGM.getData();
                //loop = new ContinuousAudioDataStream(MD);
    
            }
            catch(FileNotFoundException e){
                System.out.print(e.toString());
            }
            catch(IOException error)
            {
                System.out.print(error.toString());
            }
            MGP.start(loop);
        }
    
    
    }