Figura 21.5
| Carga y reproducción de un objeto
AudioClip
. (Parte 2 de 3).
15
private
AudioClip sonido1, sonido2, sonidoActual;
16
private
JButton reproducirJButton, continuoJButton, detenerJButton;
17
private
JComboBox sonidoJComboBox;
18
19
// carga la imagen cuando el applet empieza a ejecutarse
20
public void
init()
21
{
22
setLayout(
new
FlowLayout() );
23
24
String opciones[] = {
"Welcome"
,
"Hi"
};
25
sonidoJComboBox =
new
JComboBox( opciones );
// crea objeto JComboBox
26
27
sonidoJComboBox.addItemListener(
28
29
new
ItemListener()
// clase interna anónima
30
{
31
// detiene el sonido y lo cambia por la selección del usuario
32
public void
itemStateChanged( ItemEvent e )
33
{
34
sonidoActual.stop();
35
sonidoActual = sonidoJComboBox.getSelectedIndex() ==
0
?
36
sonido1 : sonido2;
37
}
// fin del método itemStateChanged
38
}
// fin de la clase interna anónima
39
);
// fin de la llamada al método addItemListener
40
41
add( sonidoJComboBox );
// agrega objeto JComboBox al applet
42
43
// establece el manejador de eventos de botón y los botones
44
ManejadorBoton manejador =
new
ManejadorBoton();
45
46
// crea objeto JButton Reproducir
47
reproducirJButton =
new
JButton(
"Reproducir"
);
48
reproducirJButton.addActionListener( manejador );
49
add( reproducirJButton );
50
51
// crea objeto JButton Continuo
52
continuoJButton =
new
JButton(
"Continuo"
);
53
continuoJButton.addActionListener( manejador );
54
add( continuoJButton );
55
56
// crea JButton Detener
57
detenerJButton =
new
JButton(
"Stop"
);
58
detenerJButton.addActionListener( manejador );
59
add( detenerJButton );
60
61
// carga los sonidos y establecet sonidoActual
62
sonido1 = getAudioClip( getDocumentBase(),
"welcome.wav"
);
63
sonido2 = getAudioClip( getDocumentBase(),
"hi.au"
);
64
sonidoActual = sonido1;
65
}
// fin del método init
66
67
// detiene el sonido cuando el usuario cambia a otra página Web
68
public void
stop()
69
{
70
sonidoActual.stop();
// detener AudioClip
71
}
// fin del método stop
72
73
// clase interna privada para manejar eventos de botón
21.5 Carga y reproducción de clips de audio
871
21_MAQ_CAP_21_DEITEL.indd871
4/19/081:32:53AM