AStopAudio(3X)
NAME
AStopAudio − stop specified audio transaction
SYNOPSIS
#include <Alib.h> void
AStopAudio (
Audio ∗ audio,
ATransID xid,
AStopMode mode,
ATransStatus ∗ trans_status_return,
long ∗ status_return );
DESCRIPTION
AStopAudio() stops the transaction specified in xid. A stopped transaction cannot be resumed.
audio specifies the Audio structure associated with this connection.
xid specifies the transaction ID that was returned by ACreateSBucket() or ALoadAFile().
mode specifies the stop mode: ASMLinkedTrans, ASMThisTrans, or ASMEndLoop.
trans_status_return receives the transaction status value. Setting this argument to NULL prevents the data from being collected and returned, which may enhance performance.
status_return receives the returned status of the operation, unless this parameter is passed in as a NULL pointer. If status_return is set to NULL, Alib will do the error handling.
To stop the current and subsequent transactions in a linked list, use ASMLinkedTrans and specify the first transaction in the linked list as xid. The current and subsequent transactions in the linked list cannot be resumed after this stop.
To stop only the current transaction in a linked list, use ASMThisTrans. The specified transaction stops immediately, even if it is in the middle of a loop, and the remaining transactions in the linked list continue immediately.
To stop a looping transaction, use ASMEndLoop. The specified transaction stops at the end of the current loop. If the loop transaction is in a linked list, the remaining transactions continue.
If xid is not in a linked list, ASMLinkedTrans() has the same effect as ASMThisTrans.
STRUCTURES
The following are defined in /opt/audio/include/Alib.h:
typedef long ATransID; /* Type for transaction ID. */
/* Enumerated type for transaction state. */
typedef enum _ATransState {
ATSUnknownTransID,
ATSPlaying,
ATSRecording,
ATSLooping,
ATSPaused,
ATSStopped,
ATSLoopStopped,
ATSPending
} ATransState;
/* Enumerated type and structure for time specification.
*/
typedef enum _ATimeType {
ATTSamples,
ATTMilliSeconds,
ATTFullLength
} ATimeType;
typedef struct _ATime {
ATimeType type;
union {
unsigned long samples;
unsigned long milliseconds;
} u;
} ATime;
/* Structure for transaction status. */
typedef struct _ATransStatus {
ATransState state; /* State of transaction when audio
server returned the information. */
ATime time; /* Number of milliseconds or samples
from the beginning of the audio
data when the audio server
returned the information. */
} ATransStatus;
ERRORS
If status_return is not set to NULL, it can return one of the following values:
0 AENoError No error - the call completed successfully.
2 AEBadAudio The audio structure is invalid. A pointer to a valid audio structure may be missing (use AOpenAudio() to get a valid pointer).
3 AEBadValue The mode parameter contains an incorrect value.
15 AEBadTransactionID The xid parameter does not identify a valid transaction ID.
EXAMPLE
The following example stops the transaction identified by xid, sets smode to stop the specified transaction, passes NULL for trans_stat, and sets up status to receive an error status.
Audio ∗ audio; /∗ audio connection ∗/
ATransID xid; /∗ transaction ID ∗/
AStopMode smode; /∗ stop mode ∗/
long status; /∗ error status ∗/
.
.
.
/∗ stop transaction − xid returned from prior call ∗/
smode = ASMThisTrans;
AStopAudio(audio, xid, smode, NULL, &status);
NOTE
In order to ensure that the compiler finds the Audio Library (libAlib.sl) and the Alib.h header file, you must add the following switches:
-L /opt/audio/lib
-I/opt/audio/include
DEPENDENCIES
This function belongs to the Audio Library of functions that manage connections to an audio server. The audio server must run on a system that has audio hardware. To find out whether or not your system has audio hardware, refer to Using the Audio Developer’s Kit or the online help for the Audio control panel. For information about the audio capabilities of a particular system use the online example audioinfo.c.
AUTHOR
AStopAudio() was developed by HP.
SEE ALSO
APauseAudio(3X), AResumeAudio(3X).
Hewlett-Packard Company — Audio Library: February, 1995