Reproduza apresentações de slides e animações
Use exemplos para ilustrar como reproduzir slides e animações.
[Exemplo] O pequeno aplicativo primeiro lê os slides em uma matriz e os armazena, depois clica com o mouse para alterar os slides e exibi-los um por um.
import java.applet.*import java.awt.*;import java.awt.event.*;public class Exemplo7_7 estende Applet implements MouseListener{ final int number = 50; //Suponha que haja 50 slides int count = 0 Image [; ] cartão = nova imagem[número]; public void init(){ addMouseListener(this); getImage(getCodeBase(), "DSC0033" + i + ".jpg"); public void paint(Gráficos g){ if ((card[count]) != null) g.drawImage(card[count], 10 , 10, cartão[contagem].getWidth(este),cartão[contagem].getHeitht(este), isto } public void); mousePressed(MouseEvent e){ count = (count + 1) % number; //Loop e exibição repaint(); } public void mouseRelease(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(Mouse Event e){} public void mouseClicked(MouseEvent e){}}
[Exemplo] O miniaplicativo explica como reproduzir animações. Ele requer que as imagens sejam reproduzidas e o miniaplicativo seja colocado no mesmo diretório. O programa cria o efeito de exibir animações exibindo rapidamente um grupo de imagens. O pequeno aplicativo usa threads para controlar a exibição de imagens animadas, uma por uma.
import java.applet.*;import java.awt.*;import java.awt.event.*;classe pública Exemplo7_8 estende Applet implementa Runnable{ final int number = 50; nova imagem[número]; public void init(){ setSize(300, 200); for (int i = 0; i <= número; i++){ //Carrega imagens animadas pic[i - 1] = getImage(getCodeBase(), "DSC0033" + i + ".jpg"); public void start(){ mythread = new Thread(this); thread mythread.start(); //Iniciar execução do thread} public void stop(){ mythread = null } public void run(){ //Código de execução do thread while (true){ repaint(); = (count + 1) % number; //Alterar o número da imagem exibida try{ mhythread.sleep(200 } catch (InterruptedExecception e){} } } public void paint(Graphics g){ if ((pic[count] != null) g.drawImage(pic[count], 10, 10, pic[count].getwidth(this), pic[count].getHeight(this), esse); }}
reproduzir som
Existem muitos formatos de áudio na antiga base da linguagem Java: au, aiff, wav, midi, rfm, etc. Para reproduzir arquivos de áudio em um miniaplicativo, você pode usar a classe AudioClip, que é definida na biblioteca de classes java.applet.AudioClip. O miniaplicativo primeiro cria um objeto AudioClip e o inicializa usando o método getAudioClip(). O formato do código é o seguinte:
AudioClip audioClip = getAudioClip(getCodeBase(),"myAudioClipFile.au");
Se desejar obter um arquivo de áudio da Internet, você pode usar o método getAudioClip(URL url, String name) para obter um objeto de áudio reproduzível com base no endereço URL e no nome do arquivo de áudio.
Existem três métodos para controlar a reprodução do som: play() para reproduzir o som, loop() para repetir a reprodução e stop() para parar a reprodução.
[Exemplo] Um pequeno aplicativo que pode reproduzir sons.
import java.applet.*;import java.awt.*;import java.awt.event.*;public class Exemplo7_9 estende Applet implements ActionListener{ AudioClip clip; //Declara um objeto de áudio Button buttonPlay, buttonLoop, buttonStop; (){ clip = getAudioClip(getCodeBase(), "2.wav"); //Cria um objeto de áudio baseado no arquivo de som 2.wav no endereço do programa, //O método getCodeBase() da classe Applet pode obter o endereço URL da página HTML onde o miniaplicativo está localizado. buttonPlay = new Button("Começar a jogar"); buttonLoop = new Button("Loop play"); buttonStop = new Button("Parar de jogar"); (este); add(buttonPlay); add(buttonLoop); add(buttonStop } public void stop(){ clip.stop(); //Para de reproduzir ao sair desta página} public void actionPerformed(ActionEvent e){ if (e.getSource() == buttonPlay){ clip.play() } else if (e.getSource() == buttonLoob){ clip. .loop(); } else if (e.getSource() == buttonStop){ clip.stop();
[Exemplo] Se o arquivo de som for grande ou a velocidade da rede for lenta, isso afetará a inicialização do miniprograma. Isso pode ser resolvido com a tecnologia multithreading. A criação do objeto de áudio é finalizada em um thread de nível inferior, ou seja, o arquivo de som é carregado em segundo plano e reproduzido em primeiro plano.
import java.applet.*;import java.awt.*;import java.awt.event.*;public class Hanoi estende implementos de applet Runnable, ActionListener{ AudioClip clip; //Declara um objeto de áudio textField thread thread; , buttonLoop, buttonStop; public void init(){ thread = new Thread(this); .setPriority(Thread.MIN_PRIORITY); buttonPlay = new Button("Começar a jogar"); buttonLoop = new Button("Loop play"); buttonStop = new Button("Parar de jogar"); .addActionListener(este); buttonStop.addActionListener(este); buttonLoop.addActionListener(este); add(buttonLoop); add(buttonStop); add(texto); public void start(){ thread.start(); if (e.getSource() == buttonPlay(){ clip.play(); } else if (e.getSource() == buttonLoop(){ clip.loop(); } else if (e.getSource() == buttonStop(){ clip.stop(); } } public void run(){ //Criar clipe de objeto de áudio no thread thread = getAudioclip(getCodeBase(), "2.wav"); text .setText("Aguarde"); if(clip ! = null){ buttonPlay.setBackground(Color.red); text.setText("Você pode reproduzir"); //Após obter o objeto de áudio, a notificação pode ser reproduzida}}