Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JAJA7177

Como tocar som em Java

Recommended Posts

Olá Pessoal,

Estou criando um programa para tocar alguns arquivos de som previamente escolhidos e simplesmente não consigo fazer rodar. Alguém tem uma idéia de aonde está o erro do código?

 

//file name LoadAudioAndPlay

package jgf.sound;

import javax.sound.midi.InvalidMidiDataException;
import javax.sound.midi.MidiSystem;
import javax.sound.midi.MidiUnavailableException;
import javax.sound.midi.Sequence;
import javax.sound.midi.Sequencer;
	import java.applet.AudioClip;
	import java.awt.event.ItemListener;
	import java.awt.event.ItemEvent;
	import java.awt.event.ActionListener;
	import java.awt.event.ActionEvent;
	import java.awt.FlowLayout;
	import javax.swing.JApplet;
	import javax.swing.JButton;
	import javax.swing.JComboBox;
	import javax.swing.*;
	import javax.swing.AbstractButton;
	import java.awt.Color;
	import javax.swing.JFrame;
	import java.awt.BorderLayout;
	import javax.swing.JMenu;
	import javax.swing.JMenuItem;
	import javax.swing.JMenuBar;
	import java.awt.FlowLayout;
	import javax.swing.JTextArea;
	import javax.swing.JTextField;
	import javax.swing.JScrollPane;
	import javax.swing.JButton;
	import java.io.File;
	import java.net.MalformedURLException;
	import java.net.URL;
	import javax.swing.JFileChooser;
	import java.applet.AudioClip;
		


	
	public class LoadAudioAndPlay extends JApplet {
		
		private AudioClip sound1, sound2, currentSound;
		private JButton playJButton, loopJButton, stopJButton;
		private JComboBox soundJComboBox;
		
	public void init()
	{
		setLayout(new FlowLayout());
		
		String choices[] = {"Welcome", "Hi"};
		soundJComboBox = new JComboBox (choices);
		
		soundJComboBox.addItemListener(
			
			new ItemListener()
			{
			
			public void itemStateChanged( ItemEvent e )
			{
				currentSound.stop();
				currentSound = soundJComboBox.getSelectedIndex() == 0?
					sound1 : sound2;
			}
			}
			);
			
		add(soundJComboBox);
		
		ButtonHandler handler = new ButtonHandler();
		
		//Cria o botão Iniciar
		playJButton = new JButton ("Play");
		playJButton.addActionListener( handler );
		add( playJButton );
		
		//Cria o botão Pular
		loopJButton = new JButton ("Loop");
		loopJButton.addActionListener(handler);
		add( loopJButton );
		
		//Cria o botão Parar
		stopJButton = new JButton ("Stop");
		stopJButton.addActionListener(handler);
		add( stopJButton );
		
		//carrega os sons e configura o som atual
		sound1 = getAudioClip(getDocumentBase(),"welcome.wav");
		sound2 = getAudioClip(getDocumentBase(),"hi.wav");
		currentSound = sound1;
	}
	
			
		public void stop()
			{
			//processa, reproduz, faz loop de, e interrompe eventos de botão
			currentSound.stop();
			}
			
		private class ButtonHandler implements ActionListener
		{
					
		public void actionPerformed( ActionEvent actionEvent )
		{
				if(actionEvent.getSource()== playJButton)
					currentSound.play();//reproduz o AudioClip uma vez
					else if (actionEvent.getSource()== loopJButton)
						currentSound.loop();//reproduz o AudioClip continuamente
						else if (actionEvent.getSource()== stopJButton)
							currentSound.stop(); //interrompe o AudioClip
							
		
}
}
}

___________________________________
//o arquivo main TesteSom


		import javax.swing.*;
		import java.applet.AudioClip;
	
		

		public class TesteSom 
{
   		public static void main( String args[] )
   { 
	  LoadAudioAndPlay LAAP = new LoadAudioAndPlay(); 
	  LAAP.setSize( 300, 300 ); // configura o tamanho do frame
	  LAAP.setVisible( true ); // exibe o frame
   } // fim de main
} // fim da classe GridLayoutDemo
_______________________

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.