You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebindings/qtjava/javalib/examples/sound/SoundPlayer.java

117 lines
3.0 KiB

/***************************************************************************
* $Id$
**
* Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
**
* This file is part of an example program for Qt. This example
* program may be used, distributed and modified without limitation.
**
****************************************************************************/
import org.trinitydesktop.qt.*;
class SoundPlayer extends TQMainWindow {
private TQSound bucket3;
private TQSound bucket4;
//
// Very simple example of TQSound.play(filename)
//
// 99% of this program is just boilerplate Qt code to put up a nice
// window so you think something special is happening.
//
SoundPlayer()
{
super();
bucket3 = new TQSound("sounds/3.wav");
bucket4 = new TQSound("sounds/4.wav");
if (!TQSound.isAvailable()) {
// Bail out. Programs in which sound is not critical
// could just silently (hehe) ignore the lack of a server.
//
TQMessageBox.warning(this,"No Sound",
"<p><b>Sorry, you are not running the Network Audio System.</b>"
+ "<p>If you have the `au' command, run it in the background before this program. "
+ "The latest release of the Network Audio System can be obtained from:"
+ "<pre>\n"
+ " &nbsp;\n"
+ " ftp.ncd.com:/pub/ncd/technology/src/nas\n"
+ " ftp.x.org:/contrib/audio/nas\n"
+ "</pre>"
+ "<p>Release 1.2 of NAS is also included with the X11R6"
+ "contrib distribution."
+ "<p>After installing NAS, you will then need to reconfigure Qt with NAS sound support");
}
TQPopupMenu file = new TQPopupMenu(this);
file.insertItem("Play &1", this, TQ_SLOT("doPlay1()"), new TQKeySequence(CTRL+Key_1));
file.insertItem("Play &2", this, TQ_SLOT("doPlay2()"), new TQKeySequence(CTRL+Key_2));
file.insertItem("Play from bucket &3", this, TQ_SLOT("doPlay3()"), new TQKeySequence(CTRL+Key_3));
file.insertItem("Play from bucket &4", this, TQ_SLOT("doPlay4()"), new TQKeySequence(CTRL+Key_4));
file.insertSeparator();
file.insertItem("Play 3 and 4 together", this, TQ_SLOT("doPlay34()"));
file.insertItem("Play all together", this, TQ_SLOT("doPlay1234()"));
file.insertSeparator();
file.insertItem("E&xit", tqApp(), TQ_SLOT("quit()"));
menuBar().insertItem("&File", file);
}
void doPlay1()
{
TQSound.play("sounds/1.wav");
}
void doPlay2()
{
TQSound.play("sounds/2.wav");
}
void doPlay3()
{
bucket3.play();
}
void doPlay4()
{
bucket4.play();
}
void doPlay34()
{
// Some sound platforms will only play one sound at a time
bucket3.play();
bucket4.play();
}
void doPlay1234()
{
// Some sound platforms will only play one sound at a time
TQSound.play("sounds/1.wav");
TQSound.play("sounds/2.wav");
bucket3.play();
bucket4.play();
}
public static void main(String[] args)
{
TQApplication app = new TQApplication(args);
SoundPlayer sp = new SoundPlayer();
app.setMainWidget(sp);
sp.setCaption("Qt Example - Sounds");
sp.show();
app.exec();
return;
}
static {
qtjava.initialize();
}
}