This applet is a simple button that plays an audio clip when pushed : Applet « Swing JFC « Java






This applet is a simple button that plays an audio clip when pushed

    
/*
* Copyright (c) 1996, 1998 Bill Venners. All Rights Reserved.
*
* Source code file for the Whistle applet, part of the article
* "Impressions of SD '98" by Bill Venners, published 
* in JavaWorld March, 1998
*
* This source file may not be copied, modified, or redistributed
* EXCEPT as allowed by the following statements: You may freely use
* this file for your own work, including modifications and
* distribution in compiled (class files, native executable, etc.)
* form only. You may not copy and distribute this file. You may not
* remove this copyright notice. You may not distribute modified
* versions of this source file. You may not use this file in printed
* media without the express permission of Bill Venners.
*
* BILL VENNERS MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE
* SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING
* BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR PARTICULAR PURPOSE, OR NON-INFRINGEMENT.  BILL VENNERS
* SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY A LICENSEE AS A
* RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
* DERIVATIVES.
*/

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Label;
import java.applet.AudioClip;
import java.awt.Event;
import java.net.URL;
import java.net.URLConnection;
import java.net.MalformedURLException;


/**
* This applet is a simple button that plays an audio clip when
* pushed.
*
* @author  Bill Venners
*/
public class Whistle extends java.applet.Applet implements Runnable {

    URL theURL;
    private AudioClip yeehaa;
    private Thread runner;
    private boolean startClip = false;
    private boolean urlExceptionWasThrown = false;

    public void start() {
        if (runner == null) {
            runner = new Thread(this);
            runner.start();
        }
    }

    public void stop() {
        if (runner != null) {
            if (yeehaa != null) {
                yeehaa.stop();
            }
            runner.stop();
            runner = null;
        }
    }

    public void init() {
        super.init();

        String url = getParameter("clipURL");
        try {
            theURL = new URL(getDocumentBase(), url);
        }
        catch (MalformedURLException e) {
            urlExceptionWasThrown = true;
        }

        if (!urlExceptionWasThrown) {
            yeehaa = getAudioClip(theURL);
            setLayout(new BorderLayout());
            add("Center", new Button("Whistle"));
        }
        else {
            setLayout(new BorderLayout());
            add("Center", new Label("Sorry, No Audio"));
        }
    }

    public void run() {

        while (runner != null) {

            if (startClip && yeehaa != null) {
                startClip = false;
                yeehaa.play();
            }

            try {
                Thread.sleep(500);
            }
            catch (InterruptedException e) {
            }
        }
    }

    public boolean action(Event evt, Object arg) {
        if (evt.target instanceof Button) {
            String bname = (String) arg;
            if (bname.equals("Whistle")) {
                startClip = true;
            }
        }
        return true;
    }
}

   
    
    
    
  








Related examples in the same category

1.Icon Demo Applet
2.Socket Applet
3.Applet Socket Quote
4.Applet Print
5.Applet System Properties
6.Applet Sound
7.Show Document
8.Applet communication (talk to each other)
9.Get Applets
10.JDBC applet
11.An application and an appletAn application and an applet
12.Applet and Swing ComponentsApplet and Swing Components
13.Icon behavior in JbuttonsIcon behavior in Jbuttons
14.Signed Applet
15.Load resource in Applet
16.Scribble AppletScribble Applet
17.Toggle buttonToggle button
18.Bouncing CircleBouncing Circle
19.Applet Menu Bar Demo
20.Applet clock demoApplet clock demo
21.Applet event testerApplet event tester
22.Applet with parameters
23.First applet
24.AppletViewer - a simple Applet Viewer program
25.A simple loan calculator appletA simple loan calculator applet
26.URLButton -- a Button-like object that jumps to a URL
27.Get list of APPLET tags in one HTML file
28.Demonstration of Applet Methods
29.Demonstrates getParameterInfo() and getAppletInfo()
30.Walking Text Demo
31.Java Applets Can Run CGI's (on some browsers)
32.Demo Choice Applet
33.Demo Applet: Connect to Legacy System
34.ShowDocApplet: try out showDocument()
35.Bookmarks
36.Java Wave Applet Demo
37.Slide Puzzle
38.A class to allow use of the ncsa ISMAP format in java applets
39.Image Loader Applet
40.Thread Race Applet
41.Applet: Print from an Applet
42.Calling methods of an Applet from JavaScript code
43.Read an applet parameters
44.Change an applet background color
45.Passing Parameters to Java Applet
46.Display message in browser status bar
47.Your own Applet runtime environment
48.EventQueue.invokeLater and JApplet
49.An applet component that draws a bar chart
50.This applet displays a greeting from the authors