|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.system.Alert
public final class Alert
Provides access to the device's audio system.
Applications can use the device's audio system to notify the device's operator of interesting events (for example, new messages or phone calls).
This class provides a number of alert type query methods you can use to
determine whether the host device supports a particular kind of alert (for
example Alert.isAudioSupported()
). If the device does support a particular
kind of alert, then you can use the associated start
and
stop
control methods to use that type of alert (for example,
Alert.startAudio(short[], int)
and Alert.stopAudio()
).
To start an audio alert, you must pass an array containing the coding for a tune, and the volume level as a percentage of the maximum.
The following code sample illustrates how to play a tune:
// The TUNE (bar 1 and 2 of Islamey by Balakirev) private static final short BFlat = 466; //466.16 private static final short AFlat = 415; //415.30 private static final short A = 440; //440.00 private static final short GFlat = 370; //369.99 private static final short DFlat = 554; //554.37 private static final short C = 523; //523.25 private static final short F = 349; //349.32 private static final short TEMPO = 125; // Duration of a 16th note, arbitrary, in ms. private static final short d16 = 1 * TEMPO; // Duration of an eighth note, arbitrary, in ms. private static final short d8 = d16 << 1; // 10 ms pause. private static final short dpause = 10; // Zero frequency pause. private static final short pause = 0; private static final short[] TUNE = new short[] { BFlat, d16, pause, dpause, BFlat, d16, pause, dpause, BFlat, d16, pause, dpause, BFlat, d16, pause, dpause, A, d16, pause, dpause, BFlat, d16, pause, dpause, GFlat, d16, pause, dpause, GFlat, d16, pause, dpause, A, d16, pause, dpause, BFlat, d16, pause, dpause, DFlat, d16, pause, dpause, C, d16, pause, dpause, //bar 1 AFlat, d16, pause, dpause, AFlat, d16, pause, dpause, AFlat, d16, pause, dpause, AFlat, d16, pause, dpause, F, d16, pause, dpause, GFlat, d16, pause, dpause, AFlat, d16, pause, dpause, BFlat, d16, pause, dpause, AFlat, d16, pause, dpause, F, d8 + d16 //bar 2 }; // % volume private static final int VOLUME = 80; if ( Alert.isAudioSupported()) { Alert.startAudio(TUNE, VOLUME); }
On completion, AlertListener.audioDone() is invoked on the event thread.
To start a MIDI alert, you must pass an array containing the coding for a tune, and a flag that determines whether the tune can be interrupted by keyboard or trackwheel activity. On completion, AlertListener2.midiDone() will be invoked on the event thread.
AlertListener
Field Summary | ||
---|---|---|
static int |
ALERT_ERROR_BAD_DATA
Invalid data was provided |
|
static int |
ALERT_ERROR_BAD_STATE
Playback is already in progress |
|
static int |
ALERT_ERROR_FILESYSTEM_FULL
Filesystem is full |
|
static int |
ALERT_ERROR_UNKNOWN
Unknown error |
|
static int |
ALERT_OK
Playback has begun |
Method Summary | ||
---|---|---|
static void |
enablePWMSync(boolean enable)
Deprecated. This is no longer supported. |
|
static int |
getVolume()
Retrieves the master volume. |
|
static boolean |
isADPCMSupported()
Deprecated. ADPCM is no longer supported. |
|
static boolean |
isAudioSupported()
Determines if this device provides support for playing audio alerts via Alert.startAudio(short[], int) . |
|
static boolean |
isBuzzerSupported()
Determines if this device provides buzzer support. |
|
static boolean |
isMIDISupported()
Determines if this device provides MIDI support. |
|
static boolean |
isVibrateSupported()
Determines if this device provides vibration support. |
|
static void |
mute(boolean newMuteState)
Toggles the device between mute (volume 0) and loud state, and persists the current volume level. |
|
static void |
playBuzzer(short[] tune,
int volume)
Deprecated. Replaced by Alert.startBuzzer(short[],int,boolean) |
|
static void |
setADPCMVolume(int volume)
Deprecated. ADPCM is no longer supported. |
|
static void |
setBuzzerVolume(int volume)
Sets the volume for the buzzer. |
|
static void |
setVolume(int volume)
Sets the master volume. |
|
static int |
startADPCM(byte[] tune,
boolean interruptable)
Deprecated. ADPCM is no longer supported. |
|
static void |
startAudio(short[] tune,
int volume)
Starts an audio alert. |
|
static void |
startBuzzer(short[] tune,
int volume)
Starts a buzzer alert. |
|
static void |
startBuzzer(short[] tune,
int volume,
boolean interruptable)
Starts a buzzer alert. |
|
static int |
startMIDI(byte[] tune,
boolean interruptable)
Starts a MIDI alert. |
|
static void |
startVibrate(int duration)
Starts a vibrate alert. |
|
static void |
stopADPCM()
Deprecated. ADPCM is no longer supported. |
|
static void |
stopAudio()
Cancels an audio alert in progress. |
|
static void |
stopBuzzer()
Cancels a buzzer alert in progress. |
|
static void |
stopMIDI()
Cancels a MIDI alert in progress. |
|
static void |
stopVibrate()
Cancels a vibrate alert in progress. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int ALERT_OK
public static final int ALERT_ERROR_UNKNOWN
public static final int ALERT_ERROR_BAD_DATA
public static final int ALERT_ERROR_BAD_STATE
public static final int ALERT_ERROR_FILESYSTEM_FULL
Method Detail |
---|
public static boolean isAudioSupported()
Alert.startAudio(short[], int)
.
public static void startAudio(short[] tune, int volume)
The specified tune is played using the currently selected audio channel at the specified volume. (Typically using the headset if the device is so equipped.)
When the alert is complete, AlertListener.audioDone(int)
is invoked on the event thread.
Notes: |
|
tune
- Two-element array containing tune data. The elements of the array
are the note frequency in hertz and the duration of the note in milliseconds.volume
- Percentage of capable volume level, from 0 to 100.
IllegalArgumentException
- if the specified volume is outside the range 0 to 100.AlertListener.audioDone(int)
public static void stopAudio()
public static boolean isBuzzerSupported()
public static void startBuzzer(short[] tune, int volume)
The specified tune is played using the piezoelectric buzzer at the
specified volume. When the alert is complete,
AlertListener.buzzerDone(int)
is invoked on the event thread.
The tune is interrupted by any keypad or trackwheel activity.
If the device does not support the buzzer, then invoking this method has no effect.
Notes: |
|
tune
- Two-element array containing tune data. The array elements are
the note frequency in hertz and the duration of the note in milliseconds.volume
- Percentage of capable volume level, from 0 to 100.
IllegalArgumentException
- if the specified volume is outside the range 0 to 100.AlertListener.buzzerDone(int)
public static void startBuzzer(short[] tune, int volume, boolean interruptable)
The specified tune is played using the piezoelectric buzzer at the
specified volume. When the alert is complete,
AlertListener.buzzerDone(int)
is invoked on the event thread.
The tune is interrupted by any keypad or trackwheel activity.
If the device does not support the buzzer, then invoking this method has no effect.
Notes: |
|
tune
- Two-element array containing tune data. The array elements
are the note frequency in hertz and the duration of the note in milliseconds.volume
- Percentage of capable volume level, from 0 to 100.interruptable
- If true, the tune might be interrupted by keypad or
trackwheel activity; otherwise, the tune will not be interrupted.
IllegalArgumentException
- if the specified volume is outside the range 0 to 100.AlertListener.buzzerDone(int)
public static void playBuzzer(short[] tune, int volume)
Alert.startBuzzer(short[],int,boolean)
The specified tune is played using the piezoelectric buzzer at the
specified volume. When the alert is complete,
AlertListener.buzzerDone(int)
is invoked on the event thread.
The tune is not interrupted by keypad or trackwheel activity.
If the device does not support the buzzer, then invoking this method has no effect.
Notes: |
|
tune
- Two-element array containing tune data (elements are the
note frequency in hertz and the duration of the note in milliseconds).volume
- Percentage of capable volume level, from 0 to 100.
IllegalArgumentException
- if the specified volume is outside the range 0 to 100.AlertListener.buzzerDone(int)
public static void stopBuzzer()
If the device does not support the buzzer, then invoking this method has no effect.
public static boolean isVibrateSupported()
public static void startVibrate(int duration)
The device vibrates for the specified amount of time. When the
alert is complete, AlertListener.vibrateDone(int)
is
invoked on the event thread.
duration
- Vibration time in milliseconds, from 0 to 25500.
IllegalArgumentException
- if the specified duration is outside the range 0 to 25500.AlertListener.vibrateDone(int)
public static void stopVibrate()
public static boolean isMIDISupported()
public static int startMIDI(byte[] tune, boolean interruptable)
The specified tune is played using the polyphonic device. When the
alert is complete, AlertListener2.midiDone(int)
is invoked on the event thread.
If the device does not support a MIDI alert, invoking this method throws an UnsupportedOperationException.
tune
- Tune to play.interruptable
- If true, the tune might be interrupted by keypad or
trackwheel activity; otherwise, the tune will not be interrupted.
UnsupportedOperationException
- if the device does not support MIDI.AlertListener2.midiDone(int)
public static void stopMIDI()
If the device does not support a MIDI alert, invoking this method throws an UnsupportedOperationException.
UnsupportedOperationException
- if the device does not support MIDI.public static boolean isADPCMSupported()
public static int startADPCM(byte[] tune, boolean interruptable)
The specified tune is played using the polyphonic device. When the
alert is complete, AlertListener2#adpcmDone
is invoked on the event thread.
If the device does not support an ADPCM alert, invoking this method throws an UnsupportedOperationException.
tune
- Tune to play.interruptable
- If true, the tune might be interrupted by keypad or
trackwheel activity; otherwise, the tune will not be interrupted.
UnsupportedOperationException
- if the device does not support ADPCM.public static void stopADPCM()
If the device does not support an ADPCM alert, invoking this method throws an UnsupportedOperationException.
UnsupportedOperationException
- if the device does not support ADPCM.public static void enablePWMSync(boolean enable)
UnsupportedOperationException
- if the device does not support ADPCM.public static void setADPCMVolume(int volume)
Note: This value is multiplied with the master volume.
If the device does not support an ADPCM alert, invoking this method throws an UnsupportedOperationException.
volume
- Percentage of total capable volume, from 0 to 100.
UnsupportedOperationException
- if the device does not support ADPCM.
IllegalArgumentException
- if the specified volume is outside the range 0 to 100.public static void setBuzzerVolume(int volume)
Sets the volume for the buzzer.
If the device does not support the buzzer, then invoking this method has no effect.
Note: This value is multiplied with the master volume.
volume
- Percentage of total capable volume, from 0 to 100.
IllegalArgumentException
- if the specified volume is outside the range 0 to 100.public static void setVolume(int volume)
volume
- Percentage of total capable volume, from 0 to 100.
IllegalArgumentException
- if the specified volume is outside the range 0 to 100.public static int getVolume()
public static void mute(boolean newMuteState)
setVolume()
overrides the current mute state. Any later call to
mute(false)
returns the volume to the cached value.
If newMuteState
is equal to the current mute state, this method does nothing.
newMuteState
- If true, mutes the device; otherwise, returns the volume to the value previous to muting.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 1999-2011 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Java is a trademark of Oracle America Inc. in the US and other countries.
Legal