Summary of Audio Components
This section provides a C summary for the constants, data types, and routines you can use to write an audio component. There are currently no Pascal interfaces available for writing audio components.
C Summary
Constants
/*component types*/
#define kAudioComponentType 'adio' /*audio component*/
/*subtypes for kAudioComponentType component type*/
#define kAwacsPhoneSubType 'hphn' /*AWACS phone*/
#define kAudioVisionSpeakerSubType 'telc' /*AudioVision speaker*/
#define kAudioVisionHeadphoneSubType 'telh' /*AudioVision headphones*/
#define kAudioCodeType 'adio' /*audio component code type*/
/*Component Manager selectors for routines*/
enum {
kAudioGetVolumeSelect = 0,
kAudioSetVolumeSelect,
kAudioGetMuteSelect,
kAudioSetMuteSelect,
kAudioSetToDefaultsSelect,
kAudioGetInfoSelect
};
/*values for whichChannel parameter*/
#define audioAllChannels 0 /*all channels*/
#define audioLeftChannel 1 /*left channel*/
#define audioRightChannel 2 /*right channel*/
/*values for mute parameter*/
#define audioUnmuted 0 /*device is not muted*/
#define audioMuted 1 /*device is muted*/
/*audio component features flags*/
#define audioDoesMono (1L<<0) /*supports mono output*/
#define audioDoesStereo (1L<<1) /*supports stereo output*/
#define audioDoesIndependentChannels (1L<<2) /*supports independent
software control of each channel*/
Data Types
Short Fixed-Point Numbers
typedef short ShortFixed;
Audio Information Record
typedef struct {
long capabilitiesFlags; /*device capabilities*/
long reserved; /*reserved*/
unsigned short numVolumeSteps; /*number of volume steps*/
} AudioInfo, *AudioInfoPtr;
Audio Component-Defined Routines
Getting and Setting Volumes
pascal ComponentResult AudioGetVolume
(ComponentInstance ac, short whichChannel, ShortFixed *volume);
pascal ComponentResult AudioSetVolume
(ComponentInstance ac, short whichChannel, ShortFixed volume);
Managing the Mute State
pascal ComponentResult AudioGetMute
(ComponentInstance ac, short whichChannel, short *mute);
pascal ComponentResult AudioSetMute
(ComponentInstance ac, short whichChannel, short mute);
Resetting Audio Components
pascal ComponentResult AudioSetToDefaults
(ComponentInstance ac);
Getting Audio Component Information
pascal ComponentResult AudioGetInfo
(ComponentInstance ac, AudioInfoPtr info);
Assembly-Language Summary
Data Structures
Audio Information Record
| 0 | capabilitiesFlags | long | device capabilities |
| 4 | reserved | long | reserved |
| 8 | numVolumeSteps | word | number of volume steps |